示例#1
0
    public void HandleInput()
    {
        Debug.Log("Handle Input");
        string input = GetPlayerInput();

        Debug.Log(input);
        if (input != "" && scenarioScriptIndex >= scenarioScript.Count)
        {
            if (enemy.CanTakeAction(input))
            {
                scenarioScript.Add(enemy.ActionTaken(input));
                battleLog.AddNewElement(GetNextScriptAndAdvanceIndex());
                //
            }
            else
            {
                scenarioScript.Add(enemy.ActionNotTaken(input));
                battleLog.AddNewElement(GetNextScriptAndAdvanceIndex());
                //
            }
        }

        if (enemy.IsDead())
        {
            battleLog.AddNewElement(enemy.defeated);
            defeated            = true;
            playerinput.enabled = false;
        }
        else
        {
            //Enemy Generate Action towards player
            string enemyAction = enemy.GenerateAction();
            Debug.Log("Enemy takes action: " + enemyAction);
            if (player.CanTakeAction(enemyAction))
            {
                scenarioScript.Add(player.ActionTaken(enemyAction, enemy.EnemyName));
                battleLog.AddNewElement(GetNextScriptAndAdvanceIndex());
                //
            }
            else
            {
                scenarioScript.Add(player.ActionNotTaken(enemyAction, enemy.EnemyName));
                battleLog.AddNewElement(GetNextScriptAndAdvanceIndex());
                //
            }
            if (player.IsDead())
            {
                battleLog.AddNewElement(player.defeated);
                //
                playerinput.enabled = false;
            }
        }



        Debug.Log("Enemy status: " + enemy.GetTrait(Trait.Type.PHYSICAL).currentValue.ToString() + " / " + enemy.GetTrait(Trait.Type.MENTAL).currentValue.ToString());
        Debug.Log("Player status: " + player.GetTrait(Trait.Type.PHYSICAL).currentValue.ToString() + " / " + player.GetTrait(Trait.Type.MENTAL).currentValue.ToString());
    }