Wedot每帧活跃一次,并且持续不停,而在回合制的开发中这种主动活跃是不必要的,尤其是在执行函数的时候,它会绑定进入函数时的物理帧,在函数内部对实体进行移动,函数自身感知不到。我不清楚有没有让函数脱离物理帧的方法。如果没有,我希望可以引入这种选择。
角色a释放了一个技能,我希望可能受影响的角色先进入一个回合,然后重新查看这个技能的影响。
目前要实现这个需求的逻辑过于复杂。
要实现这个需求,角色a调用了方法useSkill(),uesSkill()创建了一个检测用的子弹,在记录了子弹会触碰的单位后,将符合条件的单位b压栈,通过状态机让b完成回合。重新进入a的回合,通过记录的数据让a调用useSkill()发射新子弹。在此期间需要大量的信号和状态标记来确保他们按正确的步骤运行。
假如只是中断a的回合函数,直接让b进入回合改变位置,就会导致这颗子弹完全无法意识到b的位置发生的变化,它们已经处于不同的时间片,但通过代码直接读取的b的位置又是现在的位置,我认为这种割裂是可以避免的,毕竟b的位置并非读不到。
Wedot每帧活跃一次,并且持续不停,而在回合制的开发中这种主动活跃是不必要的,尤其是在执行函数的时候,它会绑定进入函数时的物理帧,在函数内部对实体进行移动,函数自身感知不到。我不清楚有没有让函数脱离物理帧的方法。如果没有,我希望可以引入这种选择。
角色a释放了一个技能,我希望可能受影响的角色先进入一个回合,然后重新查看这个技能的影响。
目前要实现这个需求的逻辑过于复杂。
要实现这个需求,角色a调用了方法useSkill(),uesSkill()创建了一个检测用的子弹,在记录了子弹会触碰的单位后,将符合条件的单位b压栈,通过状态机让b完成回合。重新进入a的回合,通过记录的数据让a调用useSkill()发射新子弹。在此期间需要大量的信号和状态标记来确保他们按正确的步骤运行。
假如只是中断a的回合函数,直接让b进入回合改变位置,就会导致这颗子弹完全无法意识到b的位置发生的变化,它们已经处于不同的时间片,但通过代码直接读取的b的位置又是现在的位置,我认为这种割裂是可以避免的,毕竟b的位置并非读不到。