Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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");
        }