public override bool GoalSatisfied(State state)
        {
            GridState gridState = (GridState)state;

            return(gridState.position == endPosition);
        }
        public override double EstimateCost(State state)
        {
            GridState gridState = (GridState)state;

            return(Vector2.ManhattanDistance(gridState.position, gridGoal.endPosition));
        }