Esempio n. 1
0
    private void UpdateUIStats()
    {
        for (int i = 0; i < playerNames.Count; i++)
        {
            if (i < activeUnits.Count)
            {
                if (activeUnits[i].GetIsPlayer())
                {
                    BattleUnits playerData = activeUnits[i];

                    playerNames[i].gameObject.SetActive(true);
                    playerNames[i].text = playerData.GetUnitName();
                    playerHP[i].text    = Mathf.Clamp(playerData.GetCurrHP(), 0, int.MaxValue) + "/" + playerData.GetMaxHP();
                    playerMP[i].text    = Mathf.Clamp(playerData.GetCurrMP(), 0, int.MaxValue) + "/" + playerData.GetMaxMP();
                }

                else
                {
                    playerNames[i].gameObject.SetActive(false);
                }
            }

            else
            {
                playerNames[i].gameObject.SetActive(false);
            }
        }
    }
Esempio n. 2
0
 private void InstantiatePlayers()
 {
     for (int i = 0; i < playerPositions.Length; i++)
     {
         if (FindObjectOfType <GameManager>().GetStatsList().Length > i &&
             FindObjectOfType <GameManager>().GetStatsList()[i] != null &&
             FindObjectOfType <GameManager>().GetStatsList()[i].gameObject.activeInHierarchy)
         {
             CharacterStats stats = FindObjectOfType <GameManager>().GetStatsList()[i];
             foreach (BattleUnits unit in playerUnits)
             {
                 if (unit.GetUnitName().ToUpper().Equals(stats.GetCharName().ToUpper()))
                 {
                     BattleUnits newPlayer = Instantiate(unit, playerPositions[i].position, playerPositions[i].rotation);
                     newPlayer.transform.parent = playerPositions[i];
                     newPlayer.SetCurrHP(stats.GetCurrentHP());
                     newPlayer.SetMaxHP(stats.GetMaxHP());
                     newPlayer.SetCurrMP(stats.GetCurrentMP());
                     newPlayer.SetMaxMP(stats.GetMaxMP());
                     newPlayer.SetStr(stats.GetStrength());
                     newPlayer.SetDef(stats.GetDefense());
                     newPlayer.SetWpnPwr(stats.GetWpnPwr());
                     newPlayer.SetArmrPwr(stats.GetArmrPwr());
                     activeUnits.Add(newPlayer);
                     battlePlayerCount++;
                 }
             }
         }
     }
 }
Esempio n. 3
0
    public void Magic()
    {
        BattleUnits unit = FindObjectOfType <BattleManager>().GetCurrentActiveUnit();

        if (unit.GetCurrMP() >= spellCost)
        {
            FindObjectOfType <BattleManager>().CloseMagicMenu();
            FindObjectOfType <BattleManager>().OpenEnemyTargetMenu(spellName);
            unit.SetCurrMP(unit.GetCurrMP() - spellCost);
        }
        else
        {
            // Let player know there isn't enough MP
            FindObjectOfType <BattleManager>().GetBattleNotification().SetNotificationText("Not Enough MP!");
            FindObjectOfType <BattleManager>().GetBattleNotification().Activate();
            FindObjectOfType <BattleManager>().CloseMagicMenu();
        }
    }
Esempio n. 4
0
    IEnumerator BattleVictory()
    {
        DeactivateBattle();
        yield return(new WaitForSecondsRealtime(0.5f));

        FindObjectOfType <UIManager>().ActivateTransitionScreen(true);
        FindObjectOfType <UIFadeTransition>().StartFadingToBlack();
        yield return(new WaitForSecondsRealtime(1.5f));

        for (int i = 0; i < activeUnits.Count; i++)
        {
            if (activeUnits[i].GetIsPlayer())
            {
                BattleUnits player = activeUnits[i];
                GameManager gm     = FindObjectOfType <GameManager>();

                for (int j = 0; j < gm.GetStatsList().Length; j++)
                {
                    if (player.GetUnitName().ToUpper().Equals(gm.GetStatsList()[j].GetCharName().ToUpper()))
                    {
                        gm.GetStatsList()[j].SetCurrentHP(player.GetCurrHP());
                        gm.GetStatsList()[j].SetCurrentMP(player.GetCurrMP());
                    }
                }
            }
        }
        if (battleFleeing)
        {
            FindObjectOfType <GameManager>().SetBattleActive(false);
        }
        else
        {
            // Open rewards screen
            FindObjectOfType <UIManager>().ActivateRewardsScreen(true);
            FindObjectOfType <BattleResults>().OpenRewardsScreen(rewardEXP, rewardItems, shouldCompleteQuest, questToComplete);
        }

        BattleCleanUp();
        FindObjectOfType <AudioManager>().PlayBGM(FindObjectOfType <CameraController>().GetAudioToPlay());
        FindObjectOfType <UIFadeTransition>().StartFadingFromBlack();
        yield return(new WaitForSecondsRealtime(2f));

        FindObjectOfType <UIManager>().ActivateTransitionScreen(false);
    }
Esempio n. 5
0
 private void InstantiateEnemies(List <string> enemies)
 {
     //int enemyPos = UnityEngine.Random.Range(0, enemyPositions.Length) + 1;
     for (int i = 0; i < enemies.Count; i++)
     {
         for (int j = 0; j < enemyUnits.Length; j++)
         {
             if (enemies[i].ToUpper().Equals(enemyUnits[j].GetUnitName().ToUpper()))
             {
                 //int enemySpawn = UnityEngine.Random.Range(0, enemyUnits.Length);
                 BattleUnits newEnemy = Instantiate(enemyUnits[j], enemyPositions[i].position, enemyPositions[i].rotation);
                 newEnemy.transform.parent = enemyPositions[i];
                 activeUnits.Add(newEnemy);
                 battleEnemyCount++;
                 break;
             }
         }
     }
 }