// Update is called once per frame void Update() { switch (CurrentState) { case (TurnState.PROCESSING): { //UpgradeProgressBar(); CurrentState = TurnState.CHOOSEACTION; break; } case (TurnState.CHOOSEACTION): { if (bsm.HeroesInBattle.Count > 0) { ChooseAction(); } CurrentState = TurnState.WAITING; break; } case (TurnState.WAITING): { // idle state break; } case (TurnState.ACTION): { StartCoroutine(timeForAction()); break; } case (TurnState.DEAD): { if (!alive) { return; } else { // change tag to dead this.gameObject.tag = "DeadEnemy"; // cannot be attacked by enemy bsm.EnemiesInBattle.Remove(this.gameObject); // deactivate selector selector.SetActive(false); // remove item from performList for (int i = 0; i < bsm.ExecutePerformersList.Count; ++i) { if (bsm.ExecutePerformersList[i].AttackersGameObject == this.gameObject) { bsm.ExecutePerformersList.Remove(bsm.ExecutePerformersList[i]); } } // death animation // // PLACEHOLDER FUNCITON UNTIL DEATH ANIMATIONS ARE IMPLEMENTED // //this.gameObject.GetComponent<MeshRenderer>().material.color = new Color32(0, 0, 0, 64); // decrement characters list bsm.DecrementCharactersCount(); Debug.Log("charactersCount decremented."); alive = false; Debug.Log(this.gameObject.name + ".alive = false"); } break; } default: { break; } } }
} // VOID START // Update is called once per frame void Update() { //Debug.Log(CurrentState); switch (CurrentState) { case (TurnState.PROCESSING): { //UpgradeProgressBar(); CurrentState = TurnState.ADDTOLIST; break; } case (TurnState.ADDTOLIST): { bsm.HeroesToManage.Add(this.gameObject); CurrentState = TurnState.WAITING; break; } case (TurnState.WAITING): { // idle state break; } /*case (TurnState.SELECTING): * { * break; * }//*/ case (TurnState.ACTION): { // Resets hero's defense after guarding Hero.CurrentDEF = Hero.BaseDEF; if (bsm.EnemiesInBattle.Count > 0) { if (Action == ActionType.GUARD) { StartCoroutine(guard()); } else if (Action == ActionType.MELEE_ATTACK) { StartCoroutine(timeForAction()); } } break; } case (TurnState.DEAD): { if (!alive) { return; } else { // change tag to dead this.gameObject.tag = "DeadHero"; // cannot be attacked by enemy bsm.HeroesInBattle.Remove(this.gameObject); // not recognized by manager bsm.HeroesToManage.Remove(this.gameObject); // deactivate selector selector.SetActive(false); // reset gui bsm.AttackPanel.SetActive(false); bsm.EnemySelectPanel.SetActive(false); // remove item from performList for (int i = 0; i < bsm.PerformersList.Count; ++i) { if (bsm.PerformersList[i].AttackersGameObject == this.gameObject) { bsm.PerformersList.Remove(bsm.PerformersList[i]); } } // death animation // // PLACEHOLDER FUNCITON UNTIL DEATH ANIMATIONS ARE IMPLEMENTED // //this.gameObject.GetComponent<MeshRenderer>().material.color = new Color32(0, 0, 0, 64); // reset heroInput bsm.PlayerInput = BattleStateMachine.HeroGUI.ACTIVATE; Debug.Log(this.gameObject.name + ".heroInput Reset"); // decrement characters list bsm.DecrementCharactersCount(); Debug.Log("charactersCount decremented."); alive = false; Debug.Log(this.gameObject.name + ".alive = false"); } break; } default: { break; } } } // VOID UPDATE