示例#1
0
        public void OnEventRaised(UnitBase value1, CharacterGameEvent value2)
        {
            if (value2 == endOfTurnEvent && value1 == unit.parent && unit.isBorrowing)
            {
                unit.status = Status.Overexerted;
                unit.parent.onApValChanged?.Invoke(currentApExerted);
            }

            if (value2 != characterTurnEvent)
            {
                return;
            }
            if (value1 != unit.parent)
            {
                return;
            }
            if (isRecovered)
            {
                GiveRecoverBenefits();
            }
            else if (unit.isBorrowing)
            {
                unit.isBorrowing = false;
            }
        }
        public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
        {
            if (@event == endOfTurnEvent && character == unit.parent && unit.isBorrowing)
            {
                unit.statuses.Add(Status.Overexerted);
                unit.parent.onApValChanged?.Invoke(currentApExerted);
            }

            if (@event != characterTurnEvent)
            {
                return;
            }
            if (character != unit.parent)
            {
                return;
            }
            if (isRecovered)
            {
                GiveRecoverBenefits();
            }
            else if (unit.isBorrowing)
            {
                unit.isBorrowing = false;
            }
        }
示例#3
0
 public void OnEventRaised(UnitBase value1, CharacterGameEvent value2)
 {
     if (value2 == BattleEvents.CharacterTurnEvent)
     {
         outline.enabled     = false;
         turnOrderIcon.color = Color.white;
         button.enabled      = false;
         isAbility           = false;
         currentAbility      = null;
         if (value1 == parent)
         {
             ResetTargets();
         }
     }
     else if (value2 == BattleEvents.ChooseTargetEvent)
     {
         button.enabled = true;
     }
     else if (value2 == BattleEvents.CharacterAttackEvent)
     {
         outline.enabled = false;
     }
     else if (value1 == parent && value2 == BattleEvents.EndOfTurnEvent ||
              value2 == BattleEvents.SkipTurnEvent)
     {
         hasPerformedTurn = true;
     }
 }
示例#4
0
        public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
        {
            if (character == currentSummon && ((Enemy)character).isSummon && @event == BattleEvents.CharacterAttackEvent &&
                character.Unit.isAbility && character.CurrentAbility != analyzeAbility)
            {
                //Logging.Log($"Enemy Ability {character.CurrentAbility.name}");
                elias.Unit.anim.Play($"Ability {summonAbility.attackState}", 0);
            }

            else if ((character == elias || character == currentSummon) && @event == BattleEvents.CharacterAttackEvent &&
                     elias.CurrentTarget != null && !elias.CurrentTarget.Unit.isCountered &&
                     (elias.CurrentAbility != null && elias.CurrentAbility == analyzeAbility ||
                      elias.CurrentAbility != null && currentSummon.CurrentAbility == analyzeAbility))
            {
                //Logging.Log("Analyze!");
                FloatingTextManager.Instance.ShowText($"Analyzing", elias.Unit, intensity: 0.5f);
                BeginAnalyze((Enemy)elias.CurrentTarget);
            }

            else if ((character == elias || character == currentSummon) && @event == BattleEvents.EndOfTurnEvent && isAnalyzing)
            {
                SetListenerForHpLowered();
            }

            else if ((character == elias || character == currentSummon) && @event == BattleEvents.CharacterTurnEvent && isAnalyzing)
            {
                EndAnalyze();
            }
        }
示例#5
0
 public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
 {
     if (@event == BattleEvents.CharacterTurnEvent)
     {
         outline.enabled = false;
         turnOrderIcons.ForEach(i => i.color = Color.white);
         button.enabled = false;
         isAbility      = false;
         currentAbility = null;
         if (character == parent)
         {
             ResetTargets();
         }
     }
     else if (@event == BattleEvents.ChooseTargetEvent)
     {
         button.enabled = true;
     }
     else if (@event == BattleEvents.CharacterAttackEvent)
     {
         outline.enabled = false;
     }
     else if (character == parent && @event == BattleEvents.EndOfTurnEvent ||
              @event == BattleEvents.SkipTurnEvent)
     {
         hasPerformedTurn     = true;
         hasGoneOnceThisRound = true;
     }
 }
示例#6
0
 public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
 {
     if (@event == BattleEvents.SkipTurnEvent && character == targetUnit && timer == 0 &&
         removeEffectAfterCharacterTurn)
     {
         RemoveTimerAndEffect(targetUnit);
     }
 }
示例#7
0
 public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
 {
     if (@event != BattleEvents.EndOfTurnEvent && @event != BattleEvents.SkipTurnEvent)
     {
         return;
     }
     RemoveFromTurn(character);
     Timing.RunCoroutine(GetNextTurn());
 }
示例#8
0
 public void OnEventRaised(UnitBase value1, CharacterGameEvent value2)
 {
     if (value2 != BattleEvents.EndOfTurnEvent && value2 != BattleEvents.SkipTurnEvent)
     {
         return;
     }
     RemoveFromTurn(value1);
     Timing.RunCoroutine(GetNextTurn());
 }
示例#9
0
        public void OnEventRaised(UnitBase character, CharacterGameEvent charEvent)
        {
            if (charEvent != characterTurnEvent && charEvent != endOfTurnEvent)
            {
                return;
            }

            if (character.MenuController == this)
            {
                isEnabled = charEvent == characterTurnEvent;
            }
        }
示例#10
0
        public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
        {
            if (@event != characterTurnEvent && @event != endOfTurnEvent)
            {
                return;
            }

            if (character.MenuController == this)
            {
                isEnabled = @event == characterTurnEvent;
                DisableScrolls();
            }
        }
示例#11
0
        public void OnEventRaised(UnitBase character, CharacterGameEvent @event)
        {
            if (@event == enemyTurnEvent && character == unitBase)
            {
                if (currentState == UnitStates.Weakened)
                {
                    enemyTurnCondition = true;
                }
            }

            if (currentState != UnitStates.Weakened)
            {
                return;
            }
            if (newRoundCondition && enemyTurnCondition)
            {
                RestoreShield();
            }
        }
示例#12
0
        public void OnEventRaised(UnitBase value1, CharacterGameEvent value2)
        {
            if (value2 == enemyTurnEvent && value1 == unitBase)
            {
                if (currentState == UnitStates.Weakened)
                {
                    enemyTurnCondition = true;
                }
            }

            if (currentState != UnitStates.Weakened)
            {
                return;
            }
            if (newRoundCondition && enemyTurnCondition)
            {
                RestoreShield();
            }
        }
示例#13
0
        public void OnEventRaised(UnitBase value1, CharacterGameEvent value2)
        {
            if (value1 == currentSummon && ((Enemy)value1).isSummon)
            {
                elias.Unit.anim.Play($"Ability {summonAbility.attackState}", 0);
            }

            if (value1 == elias && value2 == BattleEvents.CharacterAttackEvent &&
                elias.CurrentAbility == analyzeAbility && !elias.CurrentTarget.Unit.isCountered)
            {
                notificationHandler.ShowNotification($"Beginning analysis of {value1.characterName}");
                BeginAnalyze((Enemy)elias.CurrentTarget);
            }

            if (value1 == elias && value2 == BattleEvents.EndOfTurnEvent && isAnalyzing)
            {
                SetListenerForHpLowered();
            }

            if (value1 == elias && value2 == BattleEvents.CharacterTurnEvent && isAnalyzing)
            {
                EndAnalyze();
            }
        }
        public void OnEventRaised(UnitBase unitBase, CharacterGameEvent @event)
        {
            if (unitBase != character)
            {
                return;
            }

            if (@event == BattleEvents.BeginCharacterTurnEvent)
            {
                CharacterTurnResponse();
            }
            else if (@event == BattleEvents.EndOfTurnEvent)
            {
                EndOfCharacterTurnResponse();
            }
            else if (@event == BattleEvents.CharacterCounterAttackEvent)
            {
                CounterAttackResponse();
            }
            else if (@event == BattleEvents.CharacterCounterAttackEndEvent)
            {
                CounterAttackEndResponse();
            }
            else if (@event == BattleEvents.CharacterDealtDamageEvent)
            {
                OnDamageDealtResponse();
            }
            else if (@event == BattleEvents.CharacterAttackEvent)
            {
                CharacterAttackResponse();
            }
            else if (@event == BattleEvents.CharacterAttackEndEvent)
            {
                EndOfCharacterAttackResponse();
            }
        }