public override void OnConnectedOutputNodeChanges( int inputPortId, int otherNodeId, int otherPortId, string name, WirePortDataType type ) { base.OnConnectedOutputNodeChanges( inputPortId, otherNodeId, otherPortId, name, type ); FunctionInput functionInput = m_refreshIdsRequired ? m_allFunctionInputs[ inputPortId ] : GetFunctionInputByUniqueId( inputPortId ); if( functionInput.AutoCast ) { InputPort inputPort = m_refreshIdsRequired ? m_inputPorts[ inputPortId ] : GetInputPortByUniqueId( inputPortId ); inputPort.MatchPortToConnection(); ParentGraph cachedGraph = ContainerGraph.ParentWindow.CustomGraph; ContainerGraph.ParentWindow.CustomGraph = m_functionGraph; functionInput.ChangeOutputType( inputPort.DataType, false ); ContainerGraph.ParentWindow.CustomGraph = cachedGraph; } for( int i = 0; i < m_allFunctionOutputs.Count; i++ ) { m_outputPorts[ i ].ChangeType( m_allFunctionOutputs[ i ].InputPorts[ 0 ].DataType, false ); } }
public override void OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true ) { base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ): FunctionInput functionInput = m_refreshIdsRequired ? m_allFunctionInputs[ portId ] : GetFunctionInputByUniqueId( portId ): if( functionInput.AutoCast ) { InputPort inputPort = m_refreshIdsRequired ? m_inputPorts[ portId ] : GetInputPortByUniqueId( portId ): inputPort.MatchPortToConnection(): ParentGraph cachedGraph = ContainerGraph.ParentWindow.CustomGraph: ContainerGraph.ParentWindow.CustomGraph = m_functionGraph: functionInput.ChangeOutputType( inputPort.DataType, false ): ContainerGraph.ParentWindow.CustomGraph = cachedGraph: } for( int i = 0: i < m_allFunctionOutputs.Count: i++ ) { m_outputPorts[ i ].ChangeType( m_allFunctionOutputs[ i ].InputPorts[ 0 ].DataType, false ): } }