diff --git a/Editor/Scripts/Editor/ImageProcessingGraphAsset.cs b/Editor/Scripts/Editor/AssetGraphData.cs similarity index 77% rename from Editor/Scripts/Editor/ImageProcessingGraphAsset.cs rename to Editor/Scripts/Editor/AssetGraphData.cs index d06176d..e3b2a96 100644 --- a/Editor/Scripts/Editor/ImageProcessingGraphAsset.cs +++ b/Editor/Scripts/Editor/AssetGraphData.cs @@ -1,50 +1,51 @@ -using ImageProcessingGraph.Editor.Windows; using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using ImageProcessingGraph.Editor.Nodes.Types.Image.Variable_Node; +using AssetGraph.Core.GraphElements; +using AssetGraph.Nodes; +using ImageProcessingGraph.Editor; using UnityEditor.Experimental.GraphView; using Debug = UnityEngine.Debug; // ReSharper disable once CheckNamespace -namespace ImageProcessingGraph.Editor +namespace AssetGraph.Core { [CreateAssetMenu(menuName = "Image Processing Graph/New Graph")] - public class ImageProcessingGraphAsset : ScriptableObject + public class AssetGraphData : ScriptableObject { - [SerializeReference] private List nodes; + [SerializeField] private List nodes; [SerializeField] private List connections; - [SerializeReference] public List runOrder; - [SerializeField] public List stickyNotes; + [SerializeField] public List runOrder; + [SerializeField] public List stickyNotes; - public List Nodes => nodes; + public List Nodes => nodes; public List Connections => connections; public delegate void OnRunEvent(); public event OnRunEvent OnRun; public OnRunEvent OnRunEnd; - public ImageProcessingGraphAsset() + public AssetGraphData() { - nodes = new List(); + nodes = new List(); connections = new List(); - stickyNotes = new List(); + stickyNotes = new List(); } [OnOpenAsset(1)] public static bool OpenGraphAsset(int instanceID, int line) { - var asset = EditorUtility.InstanceIDToObject(instanceID) as ImageProcessingGraphAsset; + var asset = EditorUtility.InstanceIDToObject(instanceID) as AssetGraphData; if (asset != null) { - ImageProcessingGraphEditorWindow.Open(asset); - return true; + AssetGraphEditorWindow.Open(asset); + return false; } - return false; + return true; } public void RunGraph() @@ -79,9 +80,9 @@ namespace ImageProcessingGraph.Editor AssetDatabase.Refresh(); } - public List<(BaseImageNode node, System.Type type)> GetAllVariableNodesWithTypes() + public List<(AssetGraphNode node, System.Type type)> GetAllVariableNodesWithTypes() { - var result = new List<(BaseImageNode node, System.Type type)>(); + var result = new List<(AssetGraphNode node, System.Type type)>(); foreach (var node in nodes) { @@ -100,18 +101,11 @@ namespace ImageProcessingGraph.Editor return result; } - - - - - /// - /// Computes a topological execution order of nodes based on their dependencies. - /// Throws if a cycle is detected or nodes are missing from the input list. - /// - public List GetExecutionOrder(List nodes, List connections, bool debug = false) + + public List GetExecutionOrder(List nodes, List connections, bool debug = false) { // === Initialization === - var nodeMap = new Dictionary(nodes.Count); + var nodeMap = new Dictionary(nodes.Count); var adjList = new Dictionary>(nodes.Count); var inDegree = new Dictionary(nodes.Count); @@ -148,7 +142,7 @@ namespace ImageProcessingGraph.Editor } // === Topological Sort (Kahn's Algorithm) === - var executionOrder = new List(nodes.Count); + var executionOrder = new List(nodes.Count); var queue = new Queue(nodes.Count); foreach (var kvp in inDegree) diff --git a/Editor/Scripts/Editor/ImageProcessingGraphAsset.cs.meta b/Editor/Scripts/Editor/AssetGraphData.cs.meta similarity index 100% rename from Editor/Scripts/Editor/ImageProcessingGraphAsset.cs.meta rename to Editor/Scripts/Editor/AssetGraphData.cs.meta diff --git a/Editor/Scripts/Editor/Attributes.meta b/Editor/Scripts/Editor/Attributes.meta new file mode 100644 index 0000000..6a74b48 --- /dev/null +++ b/Editor/Scripts/Editor/Attributes.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 43834c706e924da6b7f11712b89420bc +timeCreated: 1747472390 \ No newline at end of file diff --git a/Editor/Scripts/Editor/Nodes/NodeAttributes/NodeAttributes.cs b/Editor/Scripts/Editor/Attributes/NodeAttributes.cs similarity index 90% rename from Editor/Scripts/Editor/Nodes/NodeAttributes/NodeAttributes.cs rename to Editor/Scripts/Editor/Attributes/NodeAttributes.cs index ff5b717..d80e387 100644 --- a/Editor/Scripts/Editor/Nodes/NodeAttributes/NodeAttributes.cs +++ b/Editor/Scripts/Editor/Attributes/NodeAttributes.cs @@ -1,7 +1,6 @@ using System; -using ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Windows; -namespace ImageProcessingGraph.Editor.Nodes.NodeAttributes +namespace AssetGraph.Core.Attributes { [AttributeUsage(AttributeTargets.Class)] public class NodeInfoAttribute : Attribute diff --git a/Editor/Scripts/Editor/Nodes/NodeAttributes/NodeAttributes.cs.meta b/Editor/Scripts/Editor/Attributes/NodeAttributes.cs.meta similarity index 100% rename from Editor/Scripts/Editor/Nodes/NodeAttributes/NodeAttributes.cs.meta rename to Editor/Scripts/Editor/Attributes/NodeAttributes.cs.meta diff --git a/Editor/Scripts/Editor/Batching.meta b/Editor/Scripts/Editor/Batching.meta deleted file mode 100644 index da0d46a..0000000 --- a/Editor/Scripts/Editor/Batching.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 32f2e21024994d43a7bc90a006dcd70f -timeCreated: 1746242052 \ No newline at end of file diff --git a/Editor/Scripts/Editor/Batching/Batcher.cs b/Editor/Scripts/Editor/Batching/Batcher.cs deleted file mode 100644 index a7b16e1..0000000 --- a/Editor/Scripts/Editor/Batching/Batcher.cs +++ /dev/null @@ -1,20 +0,0 @@ -using UnityEditor; -using UnityEngine; - -namespace ImageProcessingGraph.Editor.Batching -{ - public class Batcher - { - [MenuItem("Assets/Batch Graph", true)] - private static bool ValidateAsAsset() - { - return Selection.activeObject is ImageProcessingGraphAsset; - } - - [MenuItem("Assets/Batch Graph")] - private static void OpenBatchWindow() - { - BatchingWindow.OpenBatchingWindow(Selection.activeObject as ImageProcessingGraphAsset); - } - } -} \ No newline at end of file diff --git a/Editor/Scripts/Editor/Batching/Batcher.cs.meta b/Editor/Scripts/Editor/Batching/Batcher.cs.meta deleted file mode 100644 index 5982fd1..0000000 --- a/Editor/Scripts/Editor/Batching/Batcher.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: ba9a14be40ae49b190ae8dd220fb7448 -timeCreated: 1746242057 \ No newline at end of file diff --git a/Editor/Scripts/Editor/Batching/Window.meta b/Editor/Scripts/Editor/Batching/Window.meta deleted file mode 100644 index 9bf8dec..0000000 --- a/Editor/Scripts/Editor/Batching/Window.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b6b66fa4b0ee2864fb8ffb9d435a9f54 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.cs b/Editor/Scripts/Editor/Batching/Window/BatchingWindow.cs deleted file mode 100644 index d9dbc85..0000000 --- a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.cs +++ /dev/null @@ -1,63 +0,0 @@ -using ImageProcessingGraph.Editor; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; - -using System.Collections.Generic; -using ImageProcessingGraph.Editor.Nodes.Types.Image.Variable_Node; -using UnityEditor.UIElements; - -public class BatchingWindow : EditorWindow -{ - [SerializeField] - private VisualTreeAsset m_VisualTreeAsset = default; - - [SerializeField] - private ImageProcessingGraphAsset m_ImageProcessingGraphAsset; - - private static Dictionary s_OpenWindows = new(); - private List variableNodeFoldouts = new(); - - public static void OpenBatchingWindow(ImageProcessingGraphAsset asset) - { - if (s_OpenWindows.TryGetValue(asset, out BatchingWindow existingWindow)) - { - existingWindow.Focus(); - return; - } - - BatchingWindow window = CreateInstance(); - window.titleContent = new GUIContent($"{asset.name} Batcher"); - window.m_ImageProcessingGraphAsset = asset; - window.Show(); - - s_OpenWindows[asset] = window; - } - - private void OnDestroy() - { - if (m_ImageProcessingGraphAsset != null) - s_OpenWindows.Remove(m_ImageProcessingGraphAsset); - } - - public void CreateGUI() - { - VisualElement root = rootVisualElement; - var VariableNodes = m_ImageProcessingGraphAsset.GetAllVariableNodesWithTypes(); - - foreach (var VARIABLE in VariableNodes) - { - VariableNodeBase node = VARIABLE.node as VariableNodeBase; - - PropertyField pField = new PropertyField(); - pField.AddToClassList("unity-property-field__inspector-property"); - root.Add(pField); - - ListView listView = new ListView(); - listView.AddToClassList("unity-list-view--with-footer"); - listView.AddToClassList("unity-list-view--with-header"); - pField.Add(listView); - - } - } -} diff --git a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.cs.meta b/Editor/Scripts/Editor/Batching/Window/BatchingWindow.cs.meta deleted file mode 100644 index 923b248..0000000 --- a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: df3ef54632d074a4ba43a0d64818221f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: - - m_VisualTreeAsset: {fileID: 9197481963319205126, guid: 22c3ed385a3ddb541b517dcf84c10c50, type: 3} - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uss b/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uss deleted file mode 100644 index 218263a..0000000 --- a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uss +++ /dev/null @@ -1,5 +0,0 @@ -.custom-label { - font-size: 20px; - -unity-font-style: bold; - color: rgb(68, 138, 255); -} \ No newline at end of file diff --git a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uss.meta b/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uss.meta deleted file mode 100644 index a49f98a..0000000 --- a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uss.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 91d4a8403aa650147a5dd86a09928f14 -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} - disableValidation: 0 diff --git a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uxml b/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uxml deleted file mode 100644 index 4952bc7..0000000 --- a/Editor/Scripts/Editor/Batching/Window/BatchingWindow.uxml +++ /dev/null @@ -1,3 +0,0 @@ - -