人最恐惧的东西是什么?我认为其中之一,便是未知。
你知道你的敌人很厉害,但是厉害多少?一个我打不过,10个我能打过吗?100个我能打过吗?真正的恐怖,是你不知道多少个我能战胜敌人,事实上可能只需要1.5个我。
(资料图片)
学习GF后,再来看ET,我感觉到了恐惧,因为不知道ET是怎么实现前后端公用代码的。首先,我去看了看,别人的理解,我不清楚,感觉更不懂,对这个东西更加恐惧了。我颤颤巍巍的下载了ET框架,打开看了一眼。原来新手也能上手呀。所以并不难。至少在学习了GF后,再来看ET的架构,一下便能理解。
那么我是怎么战胜这样的恐惧的呢?
1、我找到了官方文档,这东西很快,写得很简单明了。比回锅饭好用了100倍。
2、参考运行指南,在Unity上跑客户端。再运行一个服务端,但是我运行失败了。也不考虑去怎么运行了。
3、找服务器端入口和客户端入口。
总的来说,基于ECS框架,才能够做到代码互用,怎么互用的呢?在ECS中,Entity、Component是数据体,只有System是处理函数。前后端互用的部分是什么呢?很明显是Entity。
客户端通过Init启动,在通过CodeLoader加载程序集入口。
服务端是通过Main入口,进入Init。后面的操作和客户端一样。
所以说,ET是什么呢?像写后端一样写前端?
由于是纯C#实现,所以需要dll文件。
ECS是什么?ECS是为了适应计算机执行效率,将一个类的属性和方法剥离了。
但是本质上所需实现的功能是一样的。所以从开发功能的角度来看,ET和GF没有区别。
区别只是ET为了实现前后端共用代码,采用了ECS框架。导致其扩展性或许没有GF那么好。
但是只要开发的快,谁管这些事呢?
框架之间没有好差之分,只有谁能够更好的帮助我们完成产品的区别。
说起框架的话,我看过QFramework,ET,认真学过GF。QF和GF比较相似。
但是我想要的是,只用实现逻辑,不用担心底层建设的框架。比如UI、Log、Resource、Entity如果都能找到对应端口,不再去思考怎么管理资源。一套现成的解决方案,还是很香的。除非哪天这些功能不够用了,才会去想办法扩展。
随便说一说,使用UGF,在最开始尝试过使用XLua,但是只考虑部分功能使用Lua,但是后来用了Hybrid后,才后知后觉,其实客户端如果挂载很多个mono,并不方便生命周期管理,也不方便网络同步,最后竟然写成了纯代码+配表的实现。现在如果用lua来实现游戏,我觉得,纯Lua的实现,好过半lua的实现。
Copyright © 2015-2022 现在数据网版权所有 备案号:粤ICP备18023326号-5 联系邮箱:855 729 8@qq.com