private void TargetUnitDiedHandler()
        {
            if (TargetUnit != null)
            {
                TargetUnit.UnitDied -= TargetUnitDiedHandler;
            }

            AbilitiesController.DeactivateAbility(ActivityId);
        }
示例#2
0
        protected virtual void UnitDiedHandler()
        {
            AbilityUnitOwner.UnitDied      -= UnitDiedHandler;
            AbilityUnitOwner.UnitHpChanged -= UnitHpChangedHandler;
            AbilityUnitOwner.UnitDamaged   -= UnitDamagedHandler;

            AbilitiesController.DeactivateAbility(ActivityId);
            Dispose();
        }
        private void CountDelay()
        {
            if (_delayedTurnsLeft == 0)
            {
                Action();

                AbilitiesController.DeactivateAbility(ActivityId);
            }

            _delayedTurnsLeft--;
        }
示例#4
0
        protected override void TurnEndedHandler()
        {
            base.TurnEndedHandler();

            Player opponent = GetOpponentOverlord();

            foreach (BoardUnit unit in opponent.BoardCards)
            {
                if (unit.DamageDebuffUntillEndOfTurn != 0)
                {
                    unit.CurrentDamage += Mathf.Abs(unit.DamageDebuffUntillEndOfTurn);
                    unit.DamageDebuffUntillEndOfTurn = 0;
                }

                if (unit.HpDebuffUntillEndOfTurn != 0)
                {
                    unit.CurrentHp += Mathf.Abs(unit.HpDebuffUntillEndOfTurn);
                    unit.HpDebuffUntillEndOfTurn = 0;
                }
            }

            AbilitiesController.DeactivateAbility(ActivityId);
        }