Ejemplo n.º 1
0
 public void DamageEnemy(int index)
 {
     if (_enemiesDead.Contains(_enemiesInBattle[index]))
     {
         return;
     }
     _actualEnemy = _enemiesInBattle[index];
     _playerCombat.DoAttack();
 }
Ejemplo n.º 2
0
 //Same as DamagePlayer, because the player doesnt have a reference about the enemy
 //he must delegate on this previous to do any damage.
 public void DamageEnemy(int index)
 {
     _enemyAttacked = index;
     if (_enemiesAlive[index] == false)
     {
         return;
     }
     _actualEnemy = _enemiesInCombat[index];
     _playerCombat.DoAttack();
 }
Ejemplo n.º 3
0
 //This method will be called by an enemy in case that a player kills him
 //This could happen either because he kills them in his turn (in which case this
 //is the last function called by the player) this is not hard to distinguish because
 //we know in each moment
 public void ActualEnemyDied(int expGained, int goldGained, EnemyCombat ec)
 {
     if (_actualTurn == ActualTurn.EnemyTurn)
     {
         _enemiesAlive[_enemiesInCombat.IndexOf(ec)] = false;
         _expGained  += expGained;
         _goldGained += goldGained;
         EnemyActionEnded();
     }
     else if (_actualTurn == ActualTurn.PlayerTurn)
     {
         _enemiesAlive[_enemyAttacked] = false;
         _expGained  += expGained;
         _goldGained += goldGained;
         PlayerAttackEnded();
     }
 }
Ejemplo n.º 4
0
 public void InitializeBattle(List <EnemyData> enemies, ActualTurn turn)
 {
     ControlManager.Instance.PlayerContext = PlayerContextType.InCombat;
     StatsManager.Instance.RecalculateStatsFromPlayer(); //loads stats + weapon
     _playerCombat = _combatUpdater.PlayerCombat;
     for (int i = 0; i < enemies.Count; i++)
     {
         if (enemies[i].TypeEnemy == TypeEnemy.Boss)
         {
             _bossBattle = true;
         }
         EnemyCombat ec = _combatUpdater.EnemiesSlots[i].GetComponent <EnemyCombat>();
         _enemiesInBattle.Add(i, ec);
         _enemiesInBattle[i].SetEnemyData(enemies[i], StatsManager.Instance.InfoPlayer.ActualLevel);
     }
     UIManager.Instance.ShowUIMainPanel(UIMainPanel.Combat);  //Combat panel -> 1st transit
     _actualTurn = turn;
 }
Ejemplo n.º 5
0
 public void InitializeBattle()
 {
     ControlManager.Instance.PlayerContext = PlayerContextType.InCombat;
     StatsManager.Instance.RecalculateStatsFromPlayer(); //loads stats + weapon
     _playerCombat  = _combatUpdater.PlayerCombat;
     _enemyAttacked = -1;
     for (int i = 0; i < _enemiesAddToBattle.Count; i++)
     {
         if ((int)_enemiesAddToBattle[i].TypeEnemy >= 100)
         {
             _bossBattle = true;
         }
         EnemyCombat ec = _combatUpdater.EnemiesSlots[i].GetComponent <EnemyCombat>();
         _enemiesInCombat.Add(ec);
         _enemiesAlive.Add(true);
         _enemiesInCombat[i].SetEnemyData(_enemiesAddToBattle[i], StatsManager.Instance.InfoPlayer.ActualLevel);
     }
     UIManager.Instance.ShowUIMainPanel(UIMainPanel.Combat);  //Combat panel -> 1st transit
     _actualTurn = _preloadTurn;
 }
Ejemplo n.º 6
0
        private void EnableMenuInvestigationPlayer(int index)
        {
            if (_investigationPanelIsShown)
            {
                DisableMenuInvestigationPlayer();
            }
            EnemyCombat ed = CombatTurnManager.Instance.EnemiesInBattle[index];

            _actualLifeEnemyInvestigate.text = ed.LifeString();
            _nameEnemyInvestigate.text       = "<b>" + ed.Name + "</b>";
            switch (ed.TypeEffect)
            {
            case TypeEffect.Stun:
            {
                _StatusEnemyInvestigate.text = "STUNNED!";
                break;
            }

            case TypeEffect.Freeze:
            {
                _StatusEnemyInvestigate.text = "FROZEN!";
                break;
            }

            case TypeEffect.Fire:
            {
                _StatusEnemyInvestigate.text = "BURNT!";
                break;
            }

            case TypeEffect.None:
            {
                _StatusEnemyInvestigate.text = "None";
                break;
            }
            }
            StartCoroutine(EnableInvestigationPanel());
        }