using UnityEngine;
using UnityEngine.UI;

public class GetKeyButton : MonoBehaviour
{
    [SerializeField] Text _console1;
    [SerializeField] Text _console2;

    void Start()
    {
        _console1.text = "";
        _console2.text = "";
    }

    void Update()
    {
        string console2Text = "";

        // キーを直接指定して、押した時/離した時を検出する

        if (Input.GetKeyDown(KeyCode.Q))
        {
            AddLogToConsole1("<color=red>Q キーが押された</color>");
        }

        if (Input.GetKeyUp(KeyCode.Q))
        {
            AddLogToConsole1("Q キーが離された");
        }

        // キーを直接指定して、押しているかどうかを判定する

        if (Input.GetKey(KeyCode.Q))
        {
            console2Text = "<color=red>Q キーが押されている</color>\n";
        }
        else
        {
            console2Text = "Q キーが押されていない\n";
        }

        // Input Manager で定義したボタン名を指定して、押した時/離した時を検出する

        if (Input.GetButtonDown("Jump"))    // スペースキーまたはコントローラーのボタン
        {
            AddLogToConsole1("<color=red>Jump ボタンが押された</color>");
        }

        if (Input.GetButtonUp("Jump"))
        {
            AddLogToConsole1("Jump ボタンが離された");
        }

        // Input Manager で定義したボタン名を指定して、押しているかどうかを判定する

        if (Input.GetButton("Jump"))
        {
            console2Text += "<color=red>Jump ボタンが押されている</color>\n";
        }
        else
        {
            console2Text += "Jump ボタンが押されていない\n";
        }

        if (Input.GetButtonDown("Fire1"))   // 左 Ctrl キー、左クリック、またはコントローラーのボタン
        {
            AddLogToConsole1("<color=red>Fire1 ボタンが押された</color>");
        }

        if (Input.GetButtonUp("Fire1"))
        {
            AddLogToConsole1("Fire1 ボタンが離された");
        }

        if (Input.GetButton("Fire1"))
        {
            console2Text += "<color=red>Fire1 ボタンが押されている</color>\n";
        }
        else
        {
            console2Text += "Fire1 ボタンが押されていない\n";
        }

        _console2.text = console2Text;
    }

    void AddLogToConsole1(string log)
    {
        _console1.text = log + "\n" + _console1.text;
    }
}
