实习阶段,接触FGUI一段时间,但是对其监听事件一直很模糊,今天下午没有事情做的时候,开始悟道,略有一些心得,不知道是否正确但是准备先写下来。
主要分为三个函数
RemoveEventListener() AddEventListener() DispatchEvent()
如同上图所示
CustEvent中有若干个事件字段例如:
CustEvent{string work=“work”;}
state1中:
state1{AddEventListener(work,CutLog);void CutLog(){//执行伐木}}
state2中:
state2{AddEventListener(work,Cooking);void Cooking(){//执行做饭}}
state3中:
state3{removeEventListener(work,CutLog)dispatchEvent(work)}console:做饭;
很显然AddEventListener可以在任意的地方向事件添加监听,当监听的事件被执行的时候,执行添加的函数,remove就是删除监听器;dispatch类似于监听的触发器。