/********************************************/ //Setter /********************************************/ private void initCompareHandler() { foreach (Reflex r in reflexes) { if (r.conditions != null) { foreach (Condition c in r.conditions) { PrivateCondition pc = c as PrivateCondition; if (pc != null) { Condition.CompareHandler ch = behaviourTriggable.getCompareHandler(c.getType()); if (ch == null) { Debug.LogWarning("WARN: no CompareHandler with Condition.Type:" + c.getType() + ", have you set it?"); } else { pc.setCompareHandler(ch); } } } } } }
static void Main(string[] args) { Condition.CompareHandler ch = compareMP; ch(Condition.Comparator.EQ, 0); Condition c1 = new Condition(compareMP, Condition.Comparator.EQ, 10); Console.WriteLine(c1.isTrue()); Condition c2 = new Condition(compareMP, Condition.Comparator.EQ, 100); Console.WriteLine(c2.isTrue()); Condition c3 = new Condition(compareTP, Condition.Comparator.EQ, 100, 200); Console.WriteLine(c3.isTrue()); Console.ReadKey(); }
public void registerCondition(Condition.Type type, Condition.CompareHandler ch) { compares[(int)type] = ch; }