public void SetState(Enumerations.GameState newState)
    {
        this.state     = newState;
        stateText.text = "State: " + state.ToString();
        switch (state)
        {
        case Enumerations.GameState.Drag:

            pointer.GetComponent <Pointer>().SetState(Enumerations.GameState.Drag);
            break;

        case Enumerations.GameState.Action:
            pointer.GetComponent <Pointer>().SetState(Enumerations.GameState.Action);
            break;

        case Enumerations.GameState.EnemyTurn:
            enemyGroup.GetComponent <GroupManager>().StartCoroutine("AttackCoroutine");
            break;

        case Enumerations.GameState.Loot:
            Debug.Log("loot corrutine called");
            StartCoroutine("SearchLoot", 1);
            break;

        case Enumerations.GameState.Check:
            Debug.Log("check state");
            if (CheckForEndGame())
            {
                SetState(Enumerations.GameState.Endgame);
            }
            else
            {
                if (playerGroup.GetComponent <GroupManager>().GetActionLeft())
                {
                    SetState(Enumerations.GameState.Drag);
                }
                else
                {
                    SetState(Enumerations.GameState.EnemyTurn);
                }
            }
            break;

        case Enumerations.GameState.Endgame:
            pointer.GetComponent <Pointer>().SetState(Enumerations.GameState.Endgame);
            break;
        }
    }
 private void Awake()
 {
     pointer = GameObject.FindGameObjectWithTag("Pointer");
     retrieveGroupFromInventory();
     stateText.text = "State: " + state.ToString();
 }