private void Awake() { StartCoroutine(FadeOut(screen));// Realiza o Fade ao entrar na cena de combate enemy = enemyGO.GetComponent <Enemy>(); betaGO = GameObject.Find("Beta"); beta = betaGO.GetComponent <Player>(); ataqueSelecionado = 0; ataque0_select.enabled = true; ataque1_select.enabled = false; ataque2_select.enabled = false; enemyVidaText.text = enemy.GetMaxVida() + " / " + enemy.GetMaxVida(); // Inicializa textos da cena que mostram a vida atual tanto do beta quanto do inimigo betaVidaText.text = beta.GetMaxVida() + " / " + beta.GetMaxVida(); battleEvents.text = ""; pressedButton = false; Random.InitState((int)Time.time); //gera semente para valores randomicos turnoAtual = TURNOS.START; }
private void Update() { Debug.Log(turnoAtual); switch (turnoAtual) { case TURNOS.START: beta.RecarregaAtributos(); //Recarrega todos os atributos (cur..) para seu valor maximo, por exemplo, curVida = maxVida. // Decide se o inimigo ou o beta vai comecar a batalha if (beta.GetCurVelocidade() + Random.Range(0, 5) >= enemy.GetCurVelocidade() + Random.Range(0, 5)) { turnoAtual = TURNOS.PLAYER_TURN; battleEvents.text = "O Beta ataca primeiro!"; } else { turnoAtual = TURNOS.ENEMY_TURN; battleEvents.text = "O inimigo ataca primeiro!"; } break; case TURNOS.PLAYER_TURN: Debug.Log(ataqueSelecionado); switch (ataqueSelecionado) { case 0: ataqueSelecionado = NavegaAtaques(0); if (Input.GetKeyDown(KeyCode.Z)) { Ataque0Selected(); turnoAtual = TURNOS.ENEMY_TURN; } break; case 1: ataqueSelecionado = NavegaAtaques(1); if (Input.GetKeyDown(KeyCode.Z)) { Ataque1Selected(); turnoAtual = TURNOS.ENEMY_TURN; } break; case 2: ataqueSelecionado = NavegaAtaques(2); if (Input.GetKeyDown(KeyCode.Z)) { Ataque2Selected(); turnoAtual = TURNOS.ENEMY_TURN; } break; } if (enemy.IsDead()) { turnoAtual = TURNOS.WIN; enemyVidaText.text = "0 / " + enemy.GetMaxVida(); } else { enemyVidaText.text = enemy.GetCurVida() + " / " + enemy.GetMaxVida(); } break; case TURNOS.ENEMY_TURN: battleEvents.text = "O inimigo atacou!"; beta.TakeDamage(Random.Range(0, 5) + enemy.GetAtaque()); turnoAtual = TURNOS.PLAYER_TURN; if (beta.IsDead()) { turnoAtual = TURNOS.LOSE; betaVidaText.text = "0 / " + beta.GetMaxVida(); } else { betaVidaText.text = beta.GetCurVida() + " / " + beta.GetMaxVida(); } break; case TURNOS.WIN: battleEvents.text = "Beta venceu! Pressione qualquer tecla para continuar..."; if (Input.anyKey) { StartCoroutine(FadeIn(screen, "Icmc")); } break; case TURNOS.LOSE: battleEvents.text = "Beta foi derrotado! Pressione qualquer tecla para continuar..."; if (Input.anyKey) { StartCoroutine(FadeIn(screen, "Icmc")); } break; } }