/// <summary>
        /// Deep clone with the given original Node.
        /// </summary>
        internal override void Copy(AIControllerSerializer serializer, Node originalNode)
        {
            base.Copy(serializer, originalNode);
            SubCondition original = (SubCondition)originalNode;

            m_input       = serializer.GetCopyOf(original.m_input);
            m_outputTrue  = serializer.GetCopyOf(original.m_outputTrue);
            m_outputFalse = serializer.GetCopyOf(original.m_outputFalse);
        }
예제 #2
0
        void DoSubStates(AIBehaviour aiBehaviour, ConnectionPort[] connectedPorts)
        {
            foreach (ConnectionPort port in connectedPorts)
            {
                if (port.node.IsTypeOf <SubState> ())
                {
                    SubState originalSubState = (SubState)port.node;
                    originalSubState.Perform(aiBehaviour);
                }

                if (port.node.IsTypeOf <SubCondition> ())
                {
                    SubCondition originalSubCondition = (SubCondition)port.node;
                    originalSubCondition.Decide(aiBehaviour);
                }
            }
        }