Esempio n. 1
0
    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();
        }
    }
Esempio n. 2
0
 public RockPaperScissors.RPSChoice GenerateRPSMove()
 {
     EnemyChoice = (RockPaperScissors.RPSChoice)Random.Range(( int )RockPaperScissors.RPSChoice.RPS_ID_ROCK, ( int )RockPaperScissors.RPSChoice.RPS_ID_MAX);
     return(EnemyChoice);
 }