來開始製作 Unity 如何使用 Windows類型的插件
可分為假插件和真的插件(自創名詞可能跟別人不同)
簡單來說就是在 Edtior 讀取假的 .dll
意義就是像是 C# interface 感覺
Run實體機上時改為去抓真的 .dll
所以測試必須在實體機上
在Edtior 可以使用假的.dll 回傳訊息,來顯示是否呼叫正常...等。
新增 Unity - Assets/Plgin_WindowPhone.cs
using UnityEngine; using UnityEngine.UI; using System.Collections; public class Plgin_WindowPhone : MonoBehaviour { private Text mText; private Button mBtn; void Start () { mText = transform.Find ("Text").GetComponent(); mBtn = transform.Find ("Button").GetComponent <Button>(); mBtn.onClick.AddListener(BtnClick); string name = UnityTest.Class1.GetString; mText.text = name; } public void BtnClick (){ UnityTest.Class1 c = UnityTest.Class1.inset; mText.text = c.Test_Function(); } }
新增 VS2013 - 專案 Fake (.NET Framework 3.5)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace UnityTest { public class Class1 { public Class1() { } private static Class1 _instance; private static readonly object _sync = new object(); public static Class1 inset { get{ lock (_sync){ if (_instance == null) _instance = new Class1(); } return _instance; } } public static string GetString { get{ return "Fake-GetString"; } } public string Test_Function(){ return "Fake-Test_Function"; } } }
VS2013 - 專案 Real (.NET Framework 4.5)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.UI.Notifications; using Windows.Data.Xml.Dom; namespace UnityTest { public class Class1 { public Class1(){} private static Class1 _instance; private static readonly object _sync = new object(); public static Class1 inset{ get{ lock (_sync){ if (_instance == null) _instance = new Class1(); } return _instance; } } public static string GetString{ get{ return "Real-GetString"; } } public string Test_Function(){ return "Real-Test_Function"; } } }
Build Fake 和 Real 產生 UnityTest.dll 和 UnityTest.pdb
複製假插件,路徑:Projects/UnityTest/Fake/Bin/Debug
UnityTest.dll 和 UnityTest.pdb 兩個檔案
Windows 假的插件放在
To Unity - Assets/Plugin
複製實體插件,路徑Projects/UnityTest/Real/Bin/Debug
UnityTest.dll 和 UnityTest.pdb 兩個檔案
如果是 Windows Store 插件放在
To Unity - Assets/Plugins/WAS
如果是 Windows Phone 插件放在
To Unity - Assets/Plugins/WP8
Edtior View.
Actual Device View.
歡迎光臨 ~ Eg 程式筆記的天堂
當你看完此篇文章,如果你覺得文章不錯
可以留下鼓勵的留言~
將是我的撰寫更多相關文章的動力