最近在参考github上的unity版本的GAS去实现自己的gas,最终决定直接使用GE去实现游戏内的skill和buff,不在实现GAS。
原因:
1.参考的git上的案例(目前star有两个案例),并不完善,而且代码有大量的invoke,并且逻辑层次有些复杂了,和自己的想要的不是很匹配。
当然有很大的参考价值,比如TAG,DurationPolicy,StackPolicy,都可以直接参考并使用。
2.单机项目,不要花费太多时间在GAS上。
3.数据,逻辑,表现三要素,在自己的单机项目中,不强求拆分。当然了,三要素独立开封装函数是更好的习惯。
4.直接使用GE比较快速,其实可以把GE看做buff
5.即使是weapon的skill,实际上skill等于 GE+TriggerClass + CostGE + CooldownGE。
要不要把CostGE和CooldownGE直接放入GE内去实现? 放入的话,GE会不会太重度了,感觉先不放了。
其实CostGE可以在GE active的时候,作为active附带的ge去触发,但CooldownGE怎么算?还是不要作为GE内部实现了。
Cost和Cooldown实际上不能算GE的CommonLogic。
我在封装一个WeaponSkillClass, 里面包含 GE+TriggerClass + CostGE + CooldownGE就行了。
6.Cue不需要太担心,使用Slate插件去做