private void ButtonSetup()
    {
        PlayerMove player = (PlayerMove)selectedCharacter.value;

        actionButtons.ResetButtons();
        bool seizeWin  = ((MapEntry)currentMap.value).winCondition == WinCondition.CAPTURE;
        bool escapeWin = ((MapEntry)currentMap.value).winCondition == WinCondition.ESCAPE;

        if (seizeWin && player.CanCapture())
        {
            actionButtons.AddButton("CAPTURE", (int)ActionInputType.CAPTURE);
        }
        if (escapeWin && player.CanEscape())
        {
            actionButtons.AddButton("ESCAPE", (int)ActionInputType.ESCAPE);
        }
        if (player.CanTalk())
        {
            actionButtons.AddButton("TALK", (int)ActionInputType.TALK);
        }
        if (player.CanOpenDoor())
        {
            actionButtons.AddButton("DOOR", (int)ActionInputType.DOOR);
        }
        if (player.CanAttack())
        {
            actionButtons.AddButton("ATTACK", (int)ActionInputType.ATTACK);
        }
        if (player.CanSupport())
        {
            actionButtons.AddButton("HEAL", (int)ActionInputType.HEAL);
        }
        if (player.CanVisit())
        {
            actionButtons.AddButton("VISIT", (int)ActionInputType.VISIT);
        }
        if (player.CanHack())
        {
            actionButtons.AddButton("HACK", (int)ActionInputType.HACK);
        }
        if (player.CanTrade())
        {
            actionButtons.AddButton("TRADE", (int)ActionInputType.TRADE);
        }

        actionButtons.AddButton("ITEM", (int)ActionInputType.ITEM);
        actionButtons.AddButton("WAIT", (int)ActionInputType.WAIT);
    }