在很多的设计上都会有Trigger\Action\Event的概念,简单说下自己的理解。
Event比Action抽象,一个Event可以包含很多Action,比如说攻击Event可以由多个Action组成,每个Event的结果可能不一样,例如有的攻击Event造成的伤害是100,由的是50。Action是GameObject对Event的响应。
Trigger就是一个触发的条件,是一个GameObject和另外一个GameObject产生交互的条件,例如攻击伤害到达100,敌人死亡。
State是描述GameObject的,Switch是GameObject的State转换的条件,例如在角色由血量的情况下,A攻击B,Trigger是指A的攻击能作用到B的条件,Trigger在B上。Trigger被触发,会满足B的血量变化的Switch,但State没变,如果血量小于0,满足B的死亡Switch,随后State改变。
很多个相似的GameObject可以被视为一个Object,这个Object的有自己的Action、State、Switch又不一样。Command是Object发出的,让某个GameObject执行某个Event。