|
|
- using UnityEngine;
-
- namespace AmplifyShaderEditor
- {
- public class NodeWireReferencesUtils
- {
- public WireReference InputPortReference = new WireReference();
- public WireReference SwitchPortReference = new WireReference();
- public WireReference OutputPortReference = new WireReference();
-
- public Vector2 SnapPosition = Vector2.zero;
- public bool SnapEnabled = false;
- public WireReference SnapPort = new WireReference();
-
- public bool ValidReferences()
- {
- return ( InputPortReference.IsValid || OutputPortReference.IsValid );
- }
-
- public void InvalidateReferences()
- {
- InputPortReference.Invalidate();
- OutputPortReference.Invalidate();
- SnapPort.Invalidate();
- SnapEnabled = false;
- }
-
-
- public void SetOutputReference( int nodeId, int portId, WirePortDataType dataType, bool typeLocked )
- {
- if( InputPortReference.IsValid )
- InputPortReference.Invalidate();
- OutputPortReference.SetReference( nodeId, portId, dataType, typeLocked );
- }
-
- public void SetInputReference( int nodeId, int portId, WirePortDataType dataType, bool typeLocked )
- {
- if( OutputPortReference.IsValid )
- OutputPortReference.Invalidate();
- InputPortReference.SetReference( nodeId, portId, dataType, typeLocked );
- }
-
- public void ActivateSnap( Vector2 position, WirePort port )
- {
- SnapPort.SetReference( port );
- SnapEnabled = true;
- SnapPosition = position;
- }
-
- public void DeactivateSnap()
- {
- SnapEnabled = false;
- SnapPort.Invalidate();
- }
- }
- }
|