Signal系统没有想象中那么好用,主要在于,创造一个SignalEmitter需要指定一个游戏物体作为Signal Receiver,从而用消息机制在特定的时间点调用该游戏物体上脚本的公有方法。
需要注意:在同一个Signal Receiver上,一个SignalEmitter不支持对应多个方法。也就是若需要角色在某个时间点做出攻击,定义了一个AttackEmit的Emitter,对应一个Attack的方法。若该角色使用另一个技能,如果想用该AttackEmit,则必须调用Attack方法。
但同一个SignalEmitter却是支持在不同Receiver上对应多个方法的。比如有一个敌人,它的攻击方式是冲刺攻击,我在敌人身上定义了一个RushAttack,那么它可以用上文定义的AttackEmit绑定RushAttack,而不会影响到之前的绑定。