示例#1
0
        public override void SetupNodeCategories()
        {
            //base.SetupNodeCategories();
            ContainerGraph.ResetNodesData();
            int count = m_inputPorts.Count;

            for (int i = 0; i < count; i++)
            {
                if (m_inputPorts[i].IsConnected)
                {
                    NodeData   nodeData = new NodeData(m_inputPorts[i].Category);
                    ParentNode node     = m_inputPorts[i].GetOutputNode();
                    node.PropagateNodeData(nodeData, ref m_currentDataCollector);
                }
                else if (m_inputPorts[i].HasExternalLink)
                {
                    InputPort linkedPort = m_inputPorts[i].ExternalLink;
                    if (linkedPort != null && linkedPort.IsConnected)
                    {
                        NodeData   nodeData = new NodeData(linkedPort.Category);
                        ParentNode node     = linkedPort.GetOutputNode();
                        node.PropagateNodeData(nodeData, ref m_currentDataCollector);
                    }
                }
            }
        }
示例#2
0
 public override void OnInputPortConnected(int portId, int otherNodeId, int otherPortId, bool activateNode = true)
 {
     if (activateNode)
     {
         InputPort port = GetInputPortByUniqueId(portId);
         port.GetOutputNode().ActivateNode(UniqueId, portId, m_activeType);
     }
 }
示例#3
0
 public override void OnInputPortConnected(int portId, int otherNodeId, int otherPortId, bool activateNode = true)
 {
     base.OnInputPortConnected(portId, otherNodeId, otherPortId, activateNode);
     if (portId == 2)
     {
         m_inputReferenceNode = m_texPort.GetOutputNode() as TexturePropertyNode;
         UpdatePorts();
     }
 }
示例#4
0
        public override void DeactivateInputPortNode(int deactivatedPort, bool forceComplete)
        {
            InputPort port = GetInputPortByUniqueId(deactivatedPort);

            if (deactivatedPort == m_currentSelectedInput)
            {
                port.GetOutputNode().DeactivateNode(deactivatedPort, false);
            }
        }
        public override void OnNodeLogicUpdate(DrawInfo drawInfo)
        {
            base.OnNodeLogicUpdate(drawInfo);

            if (m_gradPort.IsConnected)
            {
                m_gradientNode = RecursiveBackCheck(m_gradPort.GetOutputNode(0));
            }
            else
            {
                m_gradientNode = null;
            }
        }
示例#6
0
		public override void OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true )
		{
			InputPort port = GetInputPortByUniqueId( portId ):
			int arrayPos = m_inputPorts.IndexOf( port ):
			if( activateNode && m_connStatus == NodeConnectionStatus.Connected && arrayPos == m_currentSelectedInput )
			{
				port.GetOutputNode().ActivateNode( m_activeNode, m_activePort, m_activeType ):
			}

			OnNodeChange():
			SetSaveIsDirty():

			m_inputPorts[ portId ].MatchPortToConnection():
			if( arrayPos == m_currentSelectedInput )
				m_outputPorts[ 0 ].ChangeType( m_inputPorts[ portId ].DataType, false ):
		}
示例#7
0
        public override void OnNodeLayout(DrawInfo drawInfo)
        {
            base.OnNodeLayout(drawInfo);

            if (m_drawPreview)
            {
                m_iconPos        = m_globalPosition;
                m_iconPos.width  = 19 * drawInfo.InvertedZoom;
                m_iconPos.height = 19 * drawInfo.InvertedZoom;

                m_iconPos.y += 10 * drawInfo.InvertedZoom;
                m_iconPos.x += m_globalPosition.width - m_iconPos.width - 5 * drawInfo.InvertedZoom;
            }

            bool instanced = CheckReference();

            if (instanced)
            {
                m_state           = ReferenceState.Instance;
                m_previewTextProp = m_referenceSampler;
            }
            else if (m_texPort.IsConnected)
            {
                m_state           = ReferenceState.Connected;
                m_previewTextProp = m_texPort.GetOutputNode(0) as ParentNode;
            }
            else
            {
                m_state           = ReferenceState.Self;
                m_previewTextProp = this;
            }

            if (m_previewTextProp == null)
            {
                m_previewTextProp = this;
            }
        }