來開始製作 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 程式筆記的天堂
當你看完此篇文章,如果你覺得文章不錯
可以留下鼓勵的留言~
將是我的撰寫更多相關文章的動力
文章標籤
全站熱搜
