APK包裝到用戶手機上後,代碼如何更新,總不能全用LUA吧?特別是代碼很是多的戰鬥手遊編輯器
昨晚上有了dll 熱更新的想法,今天作了一天的實驗,也遇到些坑,這裏總結下ui
工做環境: U3D5.3.2 + vs2010 +monoblog
下面要模擬的是一個登錄環境,點擊按鈕,就加載一個iGameObjec的Item, Item 上獲得更新的文本內容。具體以下圖接口
1> 程序集管理ip
2> Dll管理與加載 string
3> 邏輯代碼和UI的實現 打包
4> 打包dll+打包Assetbundle程序
限制1:在Android手機裏動態加載dll不能使用Assembly.LoadFile(string path),只能使用Assembly.Load(byte[] rawAssembly)這個接口,因此要本身想辦法先讀出來。
限制2:動態加載的腳本不能在編輯器裏掛在prefab上。
限制3:若是腳本在動態dll裏,調用AddComponent()掛此腳本上prefab上時不能使用AddComponent(「SomeScript」)的方式調用,要用AddComponent(Type.GetType(「SomeScript」))。
限制4:在動態dll裏使用[RequireComponent(typeof(SomeScript))]無效,因此不能使用。im