zoukankan      html  css  js  c++  java
  • Unity3d dll 热更新 基础框架

    APK包装到用户手机上后,代码如何更新,总不能全用LUA吧?特别是代码非常多的战斗手游

    昨晚上有了dll 热更新的想法,今天做了一天的实验,也遇到些坑,这里总结下

    工作环境: U3D5.3.2 + vs2010 +mono

    下面要模拟的是一个登陆环境,点击按钮,就加载一个iGameObjec的Item,  Item 上得到更新的文本内容。具体如下图

    1> 程序集管理

    2> Dll管理与加载 

    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))]无效,所以不能使用。

  • 相关阅读:
    CVS是版本控制
    AMD CPU 看清楚
    亚洲卫视 > 技术讲义
    Windows下安装APM大全
    Windows Server 2003的几个奇怪的设置问题
    TortoiseCVS 简明流程实例
    MESSAGEBOX() 函数
    用于多表更新
    H1B签证问题
    一些好的表格
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/8278893.html
Copyright © 2011-2022 走看看