public void RemoveBehaviour(BehaviourNode behaviour) { var actionBehaviourNode = behaviour as ActionBehaviourNode; if (actionBehaviourNode != null) { _actionBehaviours.Remove(actionBehaviourNode.Guid); } var compoundBehaviourNode = behaviour as CompoundBehaviourNode; if (compoundBehaviourNode != null) { _compoundBehaviours.Remove(compoundBehaviourNode.Guid); } }
public void AddBehaviour(BehaviourNode behaviour) { var actionBehaviourNode = behaviour as ActionBehaviourNode; if (actionBehaviourNode != null) { _actionBehaviours.Add(actionBehaviourNode.Guid, actionBehaviourNode); } var compoundBehaviourNode = behaviour as CompoundBehaviourNode; if (compoundBehaviourNode != null) { _compoundBehaviours.Add(compoundBehaviourNode.Guid, compoundBehaviourNode); } }
public IEnumerable GetBehaviourNodeResolver(BehaviourNode node) { var actionBehaviourNode = node as ActionBehaviourNode; if (actionBehaviourNode != null) { return(new ActionBehaviourResolver(this).GetResolver(actionBehaviourNode)); } var compoundBehaviourNode = node as CompoundBehaviourNode; if (compoundBehaviourNode != null) { return(new CompoundBehaviourResolver(this).GetResolver(compoundBehaviourNode)); } throw new ArgumentException("Invalid behaviour node type"); }