public FCriteria(FBlackboard blackboard, FStringId key, EValueComparer comparer, IVariant expectedValue) { this._key = key; this._comparer = comparer; this._blackboard = blackboard; this._expectedValue = expectedValue; }
public void EvaluateCriteriaLessThanEqualTest() { FBlackboard blackboard = new FBlackboard(); blackboard.AddValue <FInt>("FloatValue", 2); ICriteria criteria = new FCriteria(blackboard, "FloatValue", EValueComparer.LessThanEqual, new FInt(2)); FAssert.IsTrue(criteria.Evaluate()); }
public void EvaluateCriteriaGreaterThanTest() { FBlackboard blackboard = new FBlackboard(); blackboard.AddValue <FInt>("FloatValue", 2); ICriteria criteria = new FCriteria(blackboard, "FloatValue", EValueComparer.GreaterThan, new FInt(1)); FAssert.IsTrue(criteria.Evaluate()); }
public void EvaluateCriteriaIsNotEqualTest() { FBlackboard blackboard = new FBlackboard(); blackboard.AddValue <FInt>("FloatValue", 2); ICriteria criteria = new FCriteria(blackboard, "FloatValue", EValueComparer.Equal, new FInt(1)); FAssert.IsFalse(criteria.Evaluate()); }
public void RuleDBTest() { FBlackboard blackboard = new FBlackboard(); blackboard.AddValue <FString>("Who", "Akira"); blackboard.AddValue <FString>("Where", "Village"); blackboard.AddValue <FInt>("Level", 10); blackboard.AddValue <FInt>("Food", 10); blackboard.AddValue <FInt>("Wounds", 1); FRuleDB ruleDB = new FRuleDB(); ruleDB.AddRule(new FRule().AddCriteria(blackboard, "Who", new FString("Akira")).AddCriteria(blackboard, "Level", EValueComparer.GreaterThan, new FInt(10))); ruleDB.AddRule(new FRule().AddCriteria(blackboard, "Who", new FString("Akira")).AddCriteria(blackboard, "Wounds", EValueComparer.GreaterThan, new FInt(2))); ruleDB.AddRule(new FRule().AddCriteria(blackboard, "Where", new FString("Village")).AddCriteria(blackboard, "Food", EValueComparer.LessThan, new FInt(2))); FAssert.IsFalse(ruleDB.Evaluate()); }
public FHFSM(CHFSMBrain owner) { Owner = owner; Blackboard = new FBlackboard(); }
public FRule AddCriteria(FBlackboard blackboard, FStringId key, EValueComparer comparer, IVariant expectedValue) { _criterias.Add(new FCriteria(blackboard, key, comparer, expectedValue)); return(this); }