可互动逻辑补充——迷失岛游戏笔记 世界热讯

2023-05-28 15:58:45 来源:哔哩哔哩

在这里进一步体会到了事件及事件系统的可扩展性

在EventHandler添加ItemUsedEvent事件:

用于触发当物品被使用(交互完毕)的事件逻辑


【资料图】

现在要做的事:“当我们把钥匙放在信箱上,信箱打开出现船票,钥匙消失”

对于信箱是否开启还是关闭,需要另外添加事件逻辑,也就是当场景加载完毕后需要处理的事情。

首先MailBox作为Interactive的子类,重写了 void OnClickedAction()函数,也就是点击之后的动作(切换打开状态,信封显示)

然后对应逻辑(管理)层InventoryManager需要移除被点击的物品信息(也就是钥匙)

在该类里补充ItemUsedEvent事件的细节:

也就是在Interactive中 CheckItem(ItemName itemName)函数,当交互成功时触发

交互结束后我们还需要把手的图标隐藏,在 CurSorManager里继续添加如下代码:

依旧是ItemUsedEvent事件,但是却是不同的逻辑

事件系统的重要性在于可以触发某一事件后,绑定在上面的逻辑函数都会触发,执行不同的逻辑,单独创建一个EventHandler让事件的创建、事件的绑定、事件的触发变的清晰,尤其是对于那些同一委托绑定了好几个触发函数,该类的创建不会让其显得复杂和混乱。

标签:

推荐阅读>