Пример #1
0
        private void OnAnyBehaviourApplied(Behaviour behaviour)
        {
            if (!behaviour.Target.GetComponent <BehavioursComponent>().IsUncontrollable)
            {
                return;
            }

            Timer.Instance.WaitForEndOfFrame(() =>
            {
                SkillQueue.Clear(behaviour.Target);
                MaybeEndTurn(behaviour.Target);
            });
        }
Пример #2
0
        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);
            });
        }