public void AddBehaviourPrecondition(Tag tag, Func <object, bool> precondition, object arg) { DebugUtil.Assert(!behaviourPreconditions.ContainsKey(tag)); behaviourPreconditions[tag] = new BehaviourPrecondition { cb = precondition, arg = arg }; }
public bool RunBehaviourPrecondition(Tag tag) { BehaviourPrecondition value = default(BehaviourPrecondition); if (!behaviourPreconditions.TryGetValue(tag, out value)) { return(false); } return(value.cb(value.arg)); }