public void PlayRound(RockPaperScissors.RPSChoice _PlayerChoice) { bool EndBattle = false; switch (RockPaperScissors.PlayRPS(_PlayerChoice, CurrentEnemy.GetComponent <DefaultEnemy>().GenerateRPSMove())) { case 1: // Player wins EndBattle = CurrentEnemy.GetComponent <BattleShared>().TakeDamage(GameObject.FindGameObjectWithTag("Player").GetComponent <BattleShared>().Damage); if (EndBattle) { GameObject.FindGameObjectWithTag("Player").GetComponent <Animator>().SetTrigger("victory"); } break; case 2: // Enemy wins CurrentEnemy.GetComponent <Animator>().SetTrigger("attack"); GetShadowChild().SetTrigger("attack"); EndBattle = GameObject.FindGameObjectWithTag("Player").GetComponent <BattleShared>().TakeDamage(CurrentEnemy.GetComponent <BattleShared>().Damage); if (EndBattle) { GameManager.GetGameManager().LoseRandomIngredient(); } break; default: // Tie // TODO: Anything happen on a tie? GameManager.GetGameManager().current_state.Reset(); break; } CurrentEnemy.GetComponent <DefaultEnemy>().DisplayMove(); if (EndBattle) { DestroyObject(CurrentEnemy); GameObject.FindGameObjectWithTag("Player").GetComponent <BattleShared>().CurrentHealth = GameObject.FindGameObjectWithTag("Player").GetComponent <BattleShared>().MaxHealth; StopBattle(); } }
public RockPaperScissors.RPSChoice GenerateRPSMove() { EnemyChoice = (RockPaperScissors.RPSChoice)Random.Range(( int )RockPaperScissors.RPSChoice.RPS_ID_ROCK, ( int )RockPaperScissors.RPSChoice.RPS_ID_MAX); return(EnemyChoice); }