当前位置: 移动技术网 > IT编程>开发语言>.net > GameFramework篇:StarForce加载UI讲解(上)

GameFramework篇:StarForce加载UI讲解(上)

2020年07月15日  | 移动技术网IT编程  | 我要评论

准备工作:

  1. 了解C#委托和事件

这篇博客就以初学者角度来讲讲GF加载UI的方式,因为卸载UI的方式相对简单,就留给大家自己看了。

来到ProcedureMenu流程,因为这里有UI

       

OnEnter函数做了两件事,订阅打开UI成功事件,并设置回调函数,意思是当UI实例化成功时,调用OnOpenUIFormSuccess函数 。

好了,这时候我们先不管别的,先把这句的原理搞清楚

            

id传入的是OpenUIFormSuccessEventArgs哈希值(所以是唯一的)

我们继续往里看

当我们看到这里的时候,已经有些眉目了,GF内部将一类事件函数按规定的事件ID分类,这里就是很好的例子,以OpenUIFormSuccessEventArgs(打开UI成功事件)为一类,添加OnOpenUIFormSuccess这一事件参数。

还没完,我们继续,添加了事件,我们怎么确保加载成功后才执行呢?

回到ProcedureMenu流程,我们把注意力放在这句上(因为除了这句找不到其他和这一块有关系的了)

如果 不存在UI实例,则通过AB加载方式加载,然后调用回调函数

到这里先暂停一下 ,先理解m_loadAssetCallbacks是个啥

是封装了加载资源回调函数的一个函数集,他封装的这些都来自UIManager里面的

 继续回到LoadAsset函数

到最后,加载好还是回到了InternalOpenUIForm

所以我们再看InternalOpenUIForm

这又是个啥? 

在UIManager里

查找引用,在UIComponent里,添加订阅

好了,看到这,已经快到和最开始的订阅结合的地方了,马上就要到重点了,下篇继续,先用一张UML图总结这篇博客的内容,其实也没啥,理解了委托和事件很容易

 

本文地址:https://blog.csdn.net/qq_15020543/article/details/85850196

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网