首页 > 代码库 > [译]为Unity制作WP8插件

[译]为Unity制作WP8插件

前言:

  在用Unity发布WP8应用时候,经常会遇到一些API不能用的情况,例如弹出MessageBox,无法使用string.Compare(string,string,bool)等等之类的问题。那么如何解决这些问题呢?解决方案之一就是制作插件。在Unity Manual中有这样一篇文章:http://docs.unity3d.com/Manual/wp8-plugins-guide-csharp.html 讲的就是如何制作Unity的WP8插件。小弟我用中文将这个过程描述一遍。由于能力有限,如果有什么不对的地方,希望各位大神多多帮帮哈!谢谢!

  1、新建一个空白的解决方案,如下图所示:

    

  2、给空白的解决方案,添加一个项目

    

  3、这个新建项目是一个C#的类库项目,我们将其取名为FakeDLL,特别要注意的是要选择.NET Framework 3.5,如下图所示的那样:

  

  4、这个项目建好后,我们再给那个解决方案添加一个C#的WP8 类库的项目。注意这时的应选择.NET Framework 4.5及以上版本,我们取名为RealDLL:

  

  5、下面就是最为关键的一步:将两个类库属性中的”程序集名称“和”默认命名空间“全部改成解决方案的名字,如下图所示:

  

  由于默认命名空间换了,所以在Class中也要做相应的修改

  6、接来下就是编写代码了,我们FakeDLL的Class中写Unity可以用的一些功能,在RealDLL的Class中写WP里真正要用到的,如下代码所示:

  FakeDLL:
  

  RealDLL:

  

  7、选择两个项目,生成DLL,如下图所示:

  

  生成的DLL分别位于:RealDLL:\UnityWPPlugins\RealDLL\Bin\Debug;FakeDLL:\UnityWPPlugins\FakeDLL\Bin\Debug下,将FakeDLL生成的两个文件复制到Unity的Assets/Plugins文件夹下,将RealDLL生成的两个文件复制到Unity的Assets/Plugins/WP8文件夹下,如下图所示:

  

  8、最后在Unity中我们就可以调用UnityWPPlugins命名空间下的Class1中的GetDevice方法了。在Unity Editor和WP真机上的运行效果分别如下:

  代码:

  

  Editor:

  

  WP8:

  

  这个方法同样适用制作Windows Store App和Windows Universal App等。

[译]为Unity制作WP8插件