找回密码
 立即注册
查看: 342|回复: 8

[笔记] Unity3d框架篇(7):脚本热更c#一样也能玩出花

[复制链接]
发表于 2023-2-15 12:02 | 显示全部楼层 |阅读模式
本系列基于:BDFramework 、Unity3D 2018.4.0
BDFramework:Simple! Easy! Beautiful! This is a powerful Unity3d game workflow!
框架地址:
GayHub:  yimengfan/BDFramework.Core,
码云 :  yimengfan/BDFramework.Core欢迎赏星。
第九艺术 、第十艺术讨论群 : 606667651
0x001:前言

市面上有很多热更新方案Lua、Js。然而笔者早就立下Flag:0学习成本。
所以基于C#热更库ILRuntime(这个启蒙于李总的L#)做了一套工作流。打造0学习成本,快速开发热更项目。
效率:很多同学关心运行效率,实际项目中的数据,C#热更跟Lua热更相比,在函数调用,访问属性等效率上要高于Lua,纯数值计算上低于Lua。但两者处于一个数量级。
笔者综合比较开发效率,学习成本,调试查错效率,以及笔者对C#虚拟机比较熟。
所以最终选择哪个还是取决于你们自己咯~
ILRuntime库:Ourpalm/ILRuntime
0x010:使用流程

  很尴尬,因为0学习成本,所以没啥好说的。只能先介绍工作流怎么用的,后面介绍一点工具的开发~
1.ILRuntime作者,给出一套工作流:
新建一个.csproj,然后将热更代码写在这个工程中。每次写完运行需要手动build一下,.dll会生成到unity目录下。最后运行unity,就是直接执行这个热更dll。
2.对于以上的工作流,笔者觉得还是不够舒爽:比如每次build完Dll、unity会把pdb2mdb,这个会花一点时间。其次,每次都需要手动build一下..等等
于是笔者制定了一个工作流,并开发相关工具.
流程如下:
   i)开发跟平时一样,将需要热更的目录,加上@hotfix
   ii)打包时候,只需要使用如下编辑器,就能build出 hotfix.dll


iii)然后勾选全局启动,如下:


      怎么样,是不是很舒爽?
0x011:实现原理
当然,0学习成本也是吹牛拉。实际上只能减少学习成本~
使用这套工作流需要理解整个流程:
1.整个代码工程其实还是分为:主工程,热更工程
2.主工程:   是由unity3d的dll,第三方插件的dll和cs文件,BD框架内一部分,还有自己写的一部分不适合热更的业务逻辑
3.热更工程:是基于以上主工程,所有的cs文件
BD框架,编译DLL的流程如下:


首先我们先编译出主工程Base.dll,依赖DLL:Unity3d的dll + 第三方插件 +非热更逻辑
然后再搜集到所有带有 @hotfix的标签的.cs文件, 编译出HotFix.dll
所以编程过程中,谨记以下两点:
1.主工程中不要访问,@hotfix 中的类 对象等...
2.@hotfix 中代码不要太浪,尽量不要用高级特性,反射等...
3.慢慢去ILR群问吧

所以很尴尬啊,因为打造的是0学习成本,所以都没啥说的,只能谈谈怎么使用编辑器。
下一篇,我们讲讲怎么做自己的编译服务,提高下逼格~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-2-15 12:11 | 显示全部楼层
很棒的系列文章,期待持续更新
发表于 2023-2-15 12:18 | 显示全部楼层
666大佬
发表于 2023-2-15 12:23 | 显示全部楼层
很棒很棒先学习下
发表于 2023-2-15 12:31 | 显示全部楼层
楼主,为什么我下载的PosePlus_TBS,里面茫茫多的语法错误?
发表于 2023-2-15 12:32 | 显示全部楼层
unity 2017,.net 4.6 了解下
发表于 2023-2-15 12:38 | 显示全部楼层
巧了,我还真是unity2017和.net4.6,难道哪里配置不对?
发表于 2023-2-15 12:40 | 显示全部楼层
这个就不清楚了,TBS项目是本地跑通过 才提交的,
发表于 2023-2-15 12:45 | 显示全部楼层
看上去不错哦
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-4 16:10 , Processed in 0.102950 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表