private void OnAnyBehaviourApplied(Behaviour behaviour) { if (!behaviour.Target.GetComponent <BehavioursComponent>().IsUncontrollable) { return; } Timer.Instance.WaitForEndOfFrame(() => { SkillQueue.Clear(behaviour.Target); MaybeEndTurn(behaviour.Target); }); }
private void StartTurn(GameObject entity) { var behaviours = entity.GetComponent <BehavioursComponent>(); if (behaviours.IsUncontrollable || !entity.IsAlive()) { SkillQueue.Clear(entity); Acting = entity; AnyCombatTurnStarted?.Invoke(Acting); EndTurn(Acting); return; } Acting = entity; SkillQueue.Run(entity, () => { AnyCombatTurnStarted?.Invoke(Acting); }); }