public GWPosition <PositionData, ActionData> CreateNewPosition(GWAction <PositionData, ActionData> action) { var newPosition = new GWPosition <PositionData, ActionData>( ExecuteAction(action), action.Position.Depth + 1, action.Position.CategoryPath); return(newPosition); }
public double Evaluate(GWAction <PositionData, ActionData> action) { try { return(DoEvaluate(action)); } catch { return(0.0); } }
public double Evaluate(GWAction <PositionData, ActionData> action) { return(EvaluationMethod(action)); }
public abstract int Categorize(GWAction <PositionData, ActionData> action);
protected abstract PositionData ExecuteAction(GWAction <PositionData, ActionData> action);
protected abstract double DoEvaluate(GWAction <PositionData, ActionData> action);
public override void Input(GWAction <PositionData, ActionData> data) { Value = Evaluator.Evaluate(data); }