上一篇我们学习了UI部分,这一篇我们学习其他部分,按照老规矩还是先打开官方文档
ResourceModule
在官方文档里介绍了当前加载的设置,但是我们是小白看不懂,那就不管他内部怎么实现的,我们主要看下面的代码给的方法,在我们使用Yooasset打包后,使用他给的框架封装后的代码直接调用即可。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/fd7d47bfb0e3420db1f3c45d566dfacf.png
如果使用LoadAssetAsync获取的是你传入类型的物体,接收后可以针对接收的数据进行处理
如果使用LoadGameObjectAsyn根据你传入的名称直接实例化,其他方法可以自己F12进入脚本自己查看。
GameEvent
在脚本中添加官方文档的添加事件方法,点击按钮会触发注册的事件,改为用int也可以,但是文档中的转int方法不能使用,可自己更换或者直接写入int值。
但是经过菊佬指点,te中有这个runtimeid这个类,可以把字符串转int 经过测试一样可以实现
群里大佬小博君指点框架内有一个自带事件的示例,双击打开脚本看到其中,自带两个方法,其中
第一个方法在GameApp的初始化有调用,刚开始不清楚是为什么,经过学习事件相关我们知道了这个是事件的实现方法,那么让我们测试一下看看写入自己的方法如何使用。
首先在脚本中添加我们的测试方法,然后注册此方法的事件,最后在调用注册的事件。
在事件添加中我们发现这个脚本是有专属的event脚本,我们进去查看会发现,在ILoginUI脚本增加的方法,在这个脚本中会自动转为Int,剩下步骤就和上方的一样注册与调用。
我们写了添加事件,也不能忘记删除直接在脚本结束时调用这个方法就可以把事件移除,但是有人会突然发现为什么报错了,经过te群里大佬解答是因为lambda是new的方法,并不是原来的地址,所以声明一个void方法, 把方法替换我这个lambda表达式就可以了。原谅我的疏忽,我为了熟悉框架就懒的省了很多,大家不要学我。
但是有的同学要问了,为什么要多此一举用一个接口脚本进行外包一层呢,我们进入ILoginUI脚本中看看,这个脚本引用了枚举EEventGroup进行分类。
根据我的猜想应该是作者为了避免项目工程大了以后,在其他地方乱用添加事件,从而新建一个接口类,在这个接口类中把相关的所有方法都在这里标记。
所有的事件都能在相应的接口类下找到在哪里调用,后期修改也很容易找到,我们后面使用的时候可以新增接口类,把要添加事件的方法都写入到接口类中。
在程序中我根据文档中所讲,我们在角色身上的事件流、UI和网络以及Model的数据流、开发中的绝大部分情况都可以通过事件来进行驱动。在事件注册时候,把注册的事件集中到分类接口中,进行统一使后期方便查询调用。
在UI部分也有自身的事件管理,在ui部分的时间不需要直接移除,会自动移除我们只需要在注册事件,然后调用就可以了,测试后成功没有问题