diff options
| author | yum <yum.food.vr@gmail.com> | 2026-01-06 16:30:28 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2026-01-06 16:30:28 -0800 |
| commit | 1a4daf3fa6e6a7178fe42bcaa247ce434baf6881 (patch) | |
| tree | 8493a04bee4c53eda492ce0e6cd5c194d7f9e393 /Scripts/Fold/Editor/FoldGraph.cs | |
| parent | 9b45bce6d4ca528cf5bbc78aeaa0b6b06e0f1a29 (diff) | |
Fold: drop NodeGraphProcessor
Diffstat (limited to 'Scripts/Fold/Editor/FoldGraph.cs')
| -rw-r--r-- | Scripts/Fold/Editor/FoldGraph.cs | 152 |
1 files changed, 149 insertions, 3 deletions
diff --git a/Scripts/Fold/Editor/FoldGraph.cs b/Scripts/Fold/Editor/FoldGraph.cs index f1fc290..ca985f4 100644 --- a/Scripts/Fold/Editor/FoldGraph.cs +++ b/Scripts/Fold/Editor/FoldGraph.cs @@ -1,5 +1,151 @@ +using System; +using System.Collections.Generic; using UnityEngine; -using GraphProcessor; -[System.Serializable] -public class FoldGraph : BaseGraph {} +[Serializable] +public class FoldEdge +{ + public string outputNodeGuid; + public string outputPortName; + public string inputNodeGuid; + public string inputPortName; +} + +[Serializable] +public abstract class FoldNodeData +{ + public string guid = Guid.NewGuid().ToString(); + public Vector2 position; + public virtual string Title => GetType().Name; +} + +[Serializable] +public abstract class FoldOperationData : FoldNodeData +{ + public abstract FoldNodeSerialized Serialize(FoldGraphView graphView); +} + +[Serializable] +public class FloatValueNodeData : FoldNodeData +{ + public float value; + public override string Title => "Float"; +} + +[Serializable] +public class VectorValueNodeData : FoldNodeData +{ + public Vector4 value; + public override string Title => "Vector"; +} + +[Serializable] +public class GameObjectNodeData : FoldNodeData +{ + public GameObject output; + public override string Title => "GameObject"; +} + +[Serializable] +public class AxisAlignNodeData : FoldOperationData +{ + public Vector4 po; + public Vector4 pp; + public Vector4 r; + public float t; + + public override string Title => "Axis Align"; + + public override FoldNodeSerialized Serialize(FoldGraphView graphView) + { + return new FoldNodeSerialized + { + opcode = 4, + float0 = graphView.GetInputValue(guid, "t", t), + vec0 = graphView.GetInputValue(guid, "po", po), + vec1 = graphView.GetInputValue(guid, "pp", pp), + vec2 = graphView.GetInputValue(guid, "r", r), + }; + } +} + +[Serializable] +public class PlaneToTubeNodeData : FoldOperationData +{ + public Vector4 p; + public Vector4 r; + public Vector4 s; + public float t; + + public override string Title => "Plane to Tube"; + + public override FoldNodeSerialized Serialize(FoldGraphView graphView) + { + return new FoldNodeSerialized + { + opcode = 2, + float0 = graphView.GetInputValue(guid, "t", t), + vec0 = graphView.GetInputValue(guid, "p", p), + vec1 = graphView.GetInputValue(guid, "r", r), + vec2 = graphView.GetInputValue(guid, "s", s), + }; + } +} + +[Serializable] +public class PointAlignNodeData : FoldOperationData +{ + public Vector4 po; + public Vector4 pp; + public Vector4 r; + public float t; + + public override string Title => "Point Align"; + + public override FoldNodeSerialized Serialize(FoldGraphView graphView) + { + return new FoldNodeSerialized + { + opcode = 3, + float0 = graphView.GetInputValue(guid, "t", t), + vec0 = graphView.GetInputValue(guid, "po", po), + vec1 = graphView.GetInputValue(guid, "pp", pp), + vec2 = graphView.GetInputValue(guid, "r", r), + }; + } +} + +[Serializable] +public class TubeToPlaneNodeData : FoldOperationData +{ + public Vector4 p; + public Vector4 r; + public Vector4 s; + public float t; + + public override string Title => "Tube to Plane"; + + public override FoldNodeSerialized Serialize(FoldGraphView graphView) + { + return new FoldNodeSerialized + { + opcode = 1, + float0 = graphView.GetInputValue(guid, "t", t), + vec0 = graphView.GetInputValue(guid, "p", p), + vec1 = graphView.GetInputValue(guid, "r", r), + vec2 = graphView.GetInputValue(guid, "s", s), + }; + } +} + +[Serializable] +public class KeyframeNodeData : FoldNodeData +{ + public override string Title => "Keyframe"; +} + +public class FoldGraph : ScriptableObject +{ + [SerializeReference] public List<FoldNodeData> nodes = new(); + public List<FoldEdge> edges = new(); +} |
