public void SetMoveState()
    {
        FSMSystem.AddState(this, new State(STATE.Move, this,
                                           () =>//on enter move state
        {
            currentStateDebug.text = STATE.Move.ToString();
            DisableShaderAttackCells();
            _pathfindingGrid.UpdateGrid(this);
            GetCellsPossibleMovements();
        },
                                           () =>
        {
            DisableShaderMoveCells();
            Debug.Log("hacemos el onexit");
            possibleMovements.Clear();
            _pathfindingGrid.UpdateGrid(this);
        })
                           );

        List <Action> behavioursMoveState = new List <Action>()
        {
            GetComponent <Move>()
        };

        FSMSystem.AddBehaviours(this, behavioursMoveState, states.Find((x) => x.stateName == STATE.Move));
    }
    private void SetAttackState()
    {
        FSMSystem.AddState(this, new State(STATE.Attack, this,
                                           () => {
            currentStateDebug.text = STATE.Attack.ToString();
            _pathfindingGrid.UpdateGrid(this);
            GetCellsWithEnemiesInRange();
        },
                                           () => {
            possibleAttacks.Clear();
            _pathfindingGrid.UpdateGrid(this);
        })
                           );

        List <Action> behavioursAttackState = new List <Action>()
        {
            GetComponent <Attack>()
        };

        FSMSystem.AddBehaviours(this, behavioursAttackState, states.Find((x) => x.stateName == STATE.Attack));
    }