using System; namespace AmplifyShaderEditor { public class SignalGeneratorNode : ParentNode, ISignalGenerator { public SignalGeneratorNode() : base() { } public SignalGeneratorNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } protected override void CommonInit( int uniqueId ) { base.CommonInit( uniqueId ); SelfPowered = true; } public void GenerateSignalPropagation() { System.Type myType = GetType(); for ( int i = 0; i < m_inputPorts.Count; i++ ) { if ( m_inputPorts[ i ].IsConnected ) { m_inputPorts[ i ].GetOutputNode().ActivateNode( UniqueId, i, myType ); } } } public void GenerateSignalInibitor() { for ( int i = 0; i < m_inputPorts.Count; i++ ) { if( m_inputPorts[ i ].IsConnected ) { ParentNode node = m_inputPorts[ i ].GetOutputNode(); if( node != null ) node.DeactivateNode( i, false ); } } } } }