42 lines
973 B
C#
42 lines
973 B
C#
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 );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|