C++调用脚本(DLL)里的东西比较方便, mono的embed api很全
C#调用C++的话, 需要把C++的类在C#这边做一下映射, 有两种方式:
InternalCall: 直接用mono api...用SWIG的话只需要定义一个文件指明需要把哪些头文件导出给C#用, 然后粘合层的cpp和C#的包装代码都可以自动生成, 再集成到VC的build event中, 编译好工程直接就生成好C#这边引用的DLL...解决办法有两个: 一是从内存加载, 二是先卸载再编译
加载后需要还原卸载前的对象状态, 这可以通过序列化来实现
C#的编译时间基本上可以忽略, 游戏运行时这边脚本一改, 卡个几帧就可以继续用新的脚本继续跑了...是用Boo实现的, 这也解释了为什么Unity会支持Boo...具体的实现在GitHub上可以找到
虽然JS和Boo比C#更像脚本, 但它们都是强类型的, 除了写代码时敲的字符少点我觉得不如C#, 因为啥...Unity是用MonoDevelop Attach到进程进行调试的. 目前山寨进度70%中...
C#脚本实践(一)
C#脚本实践(二): Unity脚本机制分析