public ActionCausesIfRecord Concat(ActionCausesIfRecord record) { if (worldAction.Equals(record.worldAction)) { return(new ActionCausesIfRecord(worldAction, "(" + resultExpression + ") && (" + record.resultExpression + ")", "(" + ifExpression + ") && (" + record.ifExpression + ")")); } return(null); }
public bool IsFulfilled(State state, WorldAction endedWorldAction) { // Sprawdzamy czy to dana akcja się skończyła if(!endedWorldAction.Equals(this.worldAction)) return false; // Sprawdzamy czy zachodzi warunek this.logicExpression.SetExpression(ifExpression); var fluents = this.logicExpression.GetFluentNames(); var values = fluents.Select(t => new Tuple<string, bool>(t, state.Fluents.First(x => x.Name == t).Value)); return this.logicExpression.Evaluate(values); }
public bool IsFulfilled(State state, WorldAction endedWorldAction) { // Sprawdzamy czy to dana akcja się skończyła if (!endedWorldAction.Equals(this.worldAction)) { return(false); } // Sprawdzamy czy zachodzi warunek this.logicExpression.SetExpression(ifExpression); var fluents = this.logicExpression.GetFluentNames(); var values = fluents.Select(t => new Tuple <string, bool>(t, state.Fluents.First(x => x.Name == t).Value)); return(this.logicExpression.Evaluate(values)); }