Exemplo n.º 1
0
        public IEnumerator BattleOverState()
        {
            battleState = BattleDefine.EBattleState.BattleOver;
            battleOverEvent?.Invoke();
            DataManager._instance.animalExp   = new Tuple <int, int> [3];
            DataManager._instance.farmObjects = -1;

            if (isWin)
            {
                // 경험치, 설정
                for (int i = 0; i < 3; i++)
                {
                    if (DataManager._instance.gogoAnimalIndexes[i] == -1)
                    {
                        DataManager._instance.animalExp[i] = new Tuple <int, int>(-1, -1);
                        continue;
                    }
                    DataManager._instance.animalExp[i] =
                        new Tuple <int, int>(DataManager._instance.gogoAnimalIndexes[i], EnemyManager._instance.enemy.animalData.enemyExp);
                    DataManager._instance.playerData.animalDatas[DataManager._instance.gogoAnimalIndexes[i]].exp += EnemyManager._instance.enemy.animalData.enemyExp;
                    DataManager._instance.SaveData <PlayerData>(DataManager._instance.playerData, "/PlayerData/" + 0 + ".json");
                }
                // 아이템 설정
                float rand = UnityEngine.Random.Range(0f, 1f);
                if (rand < EnemyManager._instance.enemy.animalData.farmObjectPercent)
                {
                    DataManager._instance.farmObjects = EnemyManager._instance.enemy.animalData.farmObjectIndex;
                    DataManager._instance.playerData.farmObjectDatas.Add(new FarmObjectData(EnemyManager._instance.enemy.animalData.farmObjectIndex, 0, 0, new DateTime(), false));
                    DataManager._instance.SaveData <PlayerData>(DataManager._instance.playerData, "/PlayerData/" + 0 + ".json");
                }
            }
            yield return(new WaitForSeconds(2.0f));

            StartCoroutine(EndState());
        }
Exemplo n.º 2
0
        public IEnumerator ReadyState()
        {
            battleState = BattleDefine.EBattleState.Ready;
            readyEvent?.Invoke();
            yield return(new WaitForSeconds(2.0f));

            animalManager.StartAnimals();
            enemyManager.StartAnimals();
            StartCoroutine(PlayingState());
        }
Exemplo n.º 3
0
 public IEnumerator PauseState()
 {
     battleState = BattleDefine.EBattleState.Pause;
     pauseEvent?.Invoke();
     yield return(null);
 }
Exemplo n.º 4
0
 public IEnumerator PlayingState()
 {
     battleState = BattleDefine.EBattleState.Playing;
     playingEvent?.Invoke();
     yield return(null);
 }
Exemplo n.º 5
0
 public IEnumerator EndState()
 {
     battleState = BattleDefine.EBattleState.End;
     endEvent?.Invoke();
     yield return(null);
 }