From 55bf3f223e11b670eb9df9b441a7c58570952dc0 Mon Sep 17 00:00:00 2001 From: taoria <445625470@qq.com> Date: Sat, 16 Jul 2022 10:38:42 +0800 Subject: [PATCH] refactor:Build TNodeCore --- Sample/MathGraph/Editor/MathGraphView.cs | 3 +- Sample/MathGraph/MathGraph.cs | 3 +- .../Serialization/BlackboardDataWrapper.cs | 10 ---- TNode/Runtime/RuntimeGraph.cs | 28 --------- TNode.meta => TNodeCore.meta | 0 {TNode => TNodeCore}/Attribute.meta | 0 .../Attribute/DisableOnInspector.cs | 2 +- .../Attribute/DisableOnInspector.cs.meta | 0 .../Attribute/GraphUsageAttribute.cs | 5 +- .../Attribute/GraphUsageAttribute.cs.meta | 0 .../Attribute/NodeAttribute.cs | 4 +- .../Attribute/NodeAttribute.cs.meta | 0 {TNode => TNodeCore}/Attribute/Ports.meta | 0 .../Attribute/Ports/BatchInputAttribute.cs | 2 +- .../Ports/BatchInputAttribute.cs.meta | 0 .../Attribute/Ports/BatchOutputAttribute.cs | 3 +- .../Ports/BatchOutputAttribute.cs.meta | 0 .../Attribute/Ports/InputAttribute.cs | 2 +- .../Attribute/Ports/InputAttribute.cs.meta | 0 .../Attribute/Ports/OutputAttribute.cs | 2 +- .../Attribute/Ports/OutputAttribute.cs.meta | 0 .../Attribute/Ports/PortAttribute.cs | 2 +- .../Attribute/Ports/PortAttribute.cs.meta | 0 .../Attribute/ShowInNodeViewAttribute.cs | 2 +- .../Attribute/ShowInNodeViewAttribute.cs.meta | 0 .../Attribute/ViewComponentAttribute.cs | 4 +- .../Attribute/ViewComponentAttribute.cs.meta | 0 {TNode => TNodeCore}/DataWrapper.cs | 3 +- {TNode => TNodeCore}/DataWrapper.cs.meta | 0 {TNode => TNodeCore}/Editor.meta | 0 {TNode => TNodeCore}/Editor/Blackboard.meta | 0 .../Editor/Blackboard/IBlackboardView.cs | 7 +-- .../Editor/Blackboard/IBlackboardView.cs.meta | 0 .../Editor/EditorPersistence.meta | 0 .../EditorPersistence/GraphEditorData.cs | 2 +- .../EditorPersistence/GraphEditorData.cs.meta | 0 .../GraphElementEditorData.cs | 2 +- .../GraphElementEditorData.cs.meta | 0 .../IGraphViewPersistence.cs | 2 +- .../IGraphViewPersistence.cs.meta | 0 .../EditorPersistence/SubWindowEditorData.cs | 2 +- .../SubWindowEditorData.cs.meta | 0 {TNode => TNodeCore}/Editor/Inspector.meta | 0 .../Editor/Inspector/INodeDataBinding.cs | 5 +- .../Editor/Inspector/INodeDataBinding.cs.meta | 0 .../Editor/Inspector/INodeDataBindingBase.cs | 4 +- .../Inspector/INodeDataBindingBase.cs.meta | 0 .../Editor/NodeGraphView.meta | 0 .../NodeGraphView/IBaseDataGraphView.cs | 4 +- .../NodeGraphView/IBaseDataGraphView.cs.meta | 0 .../Editor/NodeGraphView/IDataGraphView.cs | 4 +- .../NodeGraphView/IDataGraphView.cs.meta | 0 TNodeCore/Editor/PropertyDrawer.meta | 3 + .../Editor/PropertyDrawer/PropertyDrawer.cs | 60 +++++++++++++++++++ .../PropertyDrawer/PropertyDrawer.cs.meta | 3 + {TNode => TNodeCore}/Editor/Resources.meta | 0 .../Editor/Resources/DefaultNodeData.asset | 0 .../Resources/DefaultNodeData.asset.meta | 0 .../Editor/Resources/GraphEditor.uss | 0 .../Editor/Resources/GraphEditor.uss.meta | 0 .../Editor/Resources/GraphEditor.uxml | 0 .../Editor/Resources/GraphEditor.uxml.meta | 0 .../Editor/Resources/GraphViewBackground.uss | 0 .../Resources/GraphViewBackground.uss.meta | 0 .../Editor/Resources/NodeInspector.uss | 0 .../Editor/Resources/NodeInspector.uss.meta | 0 .../Editor/Resources/NodeInspector.uxml | 0 .../Editor/Resources/NodeInspector.uxml.meta | 0 .../Editor/Resources/ScriptTemplates.meta | 0 .../Resources/ScriptTemplates/NewGraph.cs.txt | 0 .../ScriptTemplates/NewGraph.cs.txt.meta | 0 .../ScriptTemplates/NewGraphEditor.cs.txt | 0 .../NewGraphEditor.cs.txt.meta | 0 .../ScriptTemplates/NewGraphView.cs.txt | 0 .../ScriptTemplates/NewGraphView.cs.txt.meta | 0 .../Editor/Serialization.meta | 0 .../Serialization/BlackboardDataWrapper.cs | 7 +++ .../BlackboardDataWrapper.cs.meta | 0 .../Editor/Serialization/NodeDataWrapper.cs | 6 +- .../Serialization/NodeDataWrapper.cs.meta | 0 {TNode => TNodeCore}/Editor/Tools.meta | 0 .../Editor/Tools/GraphEditorCreator.meta | 0 .../GraphEditorCreator/GraphEditorCreator.cs | 4 +- .../GraphEditorCreator.cs.meta | 0 .../GraphEditorCreator/GraphEditorCreator.uss | 0 .../GraphEditorCreator.uss.meta | 0 .../GraphEditorCreator.uxml | 0 .../GraphEditorCreator.uxml.meta | 0 .../SourceGeneratorForGraphEditor.cs | 2 +- .../SourceGeneratorForGraphEditor.cs.meta | 0 .../Editor/Tools/NodeCreator.meta | 0 .../Editor/Tools/NodeCreator/NodeCreator.cs | 4 +- .../Tools/NodeCreator/NodeCreator.cs.meta | 0 {TNode => TNodeCore}/Models.meta | 0 {TNode => TNodeCore}/Models/BlackboardData.cs | 4 +- .../Models/BlackboardData.cs.meta | 0 .../Models/BlackboardDragNodeData.cs | 10 +--- .../Models/BlackboardDragNodeData.cs.meta | 0 {TNode => TNodeCore}/Models/GraphData.cs | 4 +- {TNode => TNodeCore}/Models/GraphData.cs.meta | 0 {TNode => TNodeCore}/Models/IModel.cs | 2 +- {TNode => TNodeCore}/Models/IModel.cs.meta | 0 {TNode => TNodeCore}/Models/NodeData.cs | 5 +- {TNode => TNodeCore}/Models/NodeData.cs.meta | 0 {TNode => TNodeCore}/Models/NodeLink.cs | 4 +- {TNode => TNodeCore}/Models/NodeLink.cs.meta | 0 {TNode => TNodeCore}/Models/PortInfo.cs | 2 +- {TNode => TNodeCore}/Models/PortInfo.cs.meta | 0 .../Models/SceneObjectWrapper.cs | 5 +- .../Models/SceneObjectWrapper.cs.meta | 0 {TNode => TNodeCore}/Runtime.meta | 0 TNodeCore/Runtime/RuntimeGraph.cs | 23 +++++++ .../Runtime/RuntimeGraph.cs.meta | 0 {TNode => TNodeCore}/Runtime/RuntimeNode.cs | 9 +-- .../Runtime/RuntimeNode.cs.meta | 0 .../Runtime/Runtimeblackboard.cs | 5 +- .../Runtime/Runtimeblackboard.cs.meta | 0 .../Runtime/SceneSerializedData.cs | 2 +- .../Runtime/SceneSerializedData.cs.meta | 0 {TNode => TNodeCore}/RuntimeCache.meta | 0 .../RuntimeCache/RuntimeCache.cs | 59 +++++++++++++++--- .../RuntimeCache/RuntimeCache.cs.meta | 0 TNodeCore/TNodeCore.asmdef | 3 + TNodeCore/TNodeCore.asmdef.meta | 7 +++ .../Editor/Cache/NodeEditorExtensions.cs | 10 +--- .../DefaultGraphBlackboardView.cs | 7 +-- .../GraphBlackboardPropertyField.cs | 1 + .../GraphBlackboard/GraphBlackboardView.cs | 8 +-- TNodeGraphViewImpl/Editor/GraphEditor.cs | 4 +- .../Editor/Inspector/NodeInspector.cs | 3 +- .../Editor/Inspector/NodeInspectorInNode.cs | 6 +- .../Editor/NodeGraphView/DataGraphView.cs | 10 ++-- .../NodeGraphView/SimpleGraphSubWindow.cs | 2 +- .../Editor/NodeViews/DefaultNodeView.cs | 2 +- .../Editor/NodeViews/DragNodeView.cs | 4 +- .../Editor/NodeViews/NodeView.cs | 7 ++- .../Search/BlackboardSearchWindowProvider.cs | 2 +- .../Editor/Search/NodeSearchWindowProvider.cs | 6 +- 138 files changed, 246 insertions(+), 166 deletions(-) delete mode 100644 TNode/Editor/Serialization/BlackboardDataWrapper.cs delete mode 100644 TNode/Runtime/RuntimeGraph.cs rename TNode.meta => TNodeCore.meta (100%) rename {TNode => TNodeCore}/Attribute.meta (100%) rename {TNode => TNodeCore}/Attribute/DisableOnInspector.cs (90%) rename {TNode => TNodeCore}/Attribute/DisableOnInspector.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/GraphUsageAttribute.cs (92%) rename {TNode => TNodeCore}/Attribute/GraphUsageAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/NodeAttribute.cs (80%) rename {TNode => TNodeCore}/Attribute/NodeAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/Ports.meta (100%) rename {TNode => TNodeCore}/Attribute/Ports/BatchInputAttribute.cs (56%) rename {TNode => TNodeCore}/Attribute/Ports/BatchInputAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/Ports/BatchOutputAttribute.cs (83%) rename {TNode => TNodeCore}/Attribute/Ports/BatchOutputAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/Ports/InputAttribute.cs (91%) rename {TNode => TNodeCore}/Attribute/Ports/InputAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/Ports/OutputAttribute.cs (86%) rename {TNode => TNodeCore}/Attribute/Ports/OutputAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/Ports/PortAttribute.cs (95%) rename {TNode => TNodeCore}/Attribute/Ports/PortAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/ShowInNodeViewAttribute.cs (84%) rename {TNode => TNodeCore}/Attribute/ShowInNodeViewAttribute.cs.meta (100%) rename {TNode => TNodeCore}/Attribute/ViewComponentAttribute.cs (81%) rename {TNode => TNodeCore}/Attribute/ViewComponentAttribute.cs.meta (100%) rename {TNode => TNodeCore}/DataWrapper.cs (96%) rename {TNode => TNodeCore}/DataWrapper.cs.meta (100%) rename {TNode => TNodeCore}/Editor.meta (100%) rename {TNode => TNodeCore}/Editor/Blackboard.meta (100%) rename {TNode => TNodeCore}/Editor/Blackboard/IBlackboardView.cs (79%) rename {TNode => TNodeCore}/Editor/Blackboard/IBlackboardView.cs.meta (100%) rename {TNode => TNodeCore}/Editor/EditorPersistence.meta (100%) rename {TNode => TNodeCore}/Editor/EditorPersistence/GraphEditorData.cs (85%) rename {TNode => TNodeCore}/Editor/EditorPersistence/GraphEditorData.cs.meta (100%) rename {TNode => TNodeCore}/Editor/EditorPersistence/GraphElementEditorData.cs (77%) rename {TNode => TNodeCore}/Editor/EditorPersistence/GraphElementEditorData.cs.meta (100%) rename {TNode => TNodeCore}/Editor/EditorPersistence/IGraphViewPersistence.cs (84%) rename {TNode => TNodeCore}/Editor/EditorPersistence/IGraphViewPersistence.cs.meta (100%) rename {TNode => TNodeCore}/Editor/EditorPersistence/SubWindowEditorData.cs (51%) rename {TNode => TNodeCore}/Editor/EditorPersistence/SubWindowEditorData.cs.meta (100%) rename {TNode => TNodeCore}/Editor/Inspector.meta (100%) rename {TNode => TNodeCore}/Editor/Inspector/INodeDataBinding.cs (65%) rename {TNode => TNodeCore}/Editor/Inspector/INodeDataBinding.cs.meta (100%) rename {TNode => TNodeCore}/Editor/Inspector/INodeDataBindingBase.cs (69%) rename {TNode => TNodeCore}/Editor/Inspector/INodeDataBindingBase.cs.meta (100%) rename {TNode => TNodeCore}/Editor/NodeGraphView.meta (100%) rename {TNode => TNodeCore}/Editor/NodeGraphView/IBaseDataGraphView.cs (82%) rename {TNode => TNodeCore}/Editor/NodeGraphView/IBaseDataGraphView.cs.meta (100%) rename {TNode => TNodeCore}/Editor/NodeGraphView/IDataGraphView.cs (63%) rename {TNode => TNodeCore}/Editor/NodeGraphView/IDataGraphView.cs.meta (100%) create mode 100644 TNodeCore/Editor/PropertyDrawer.meta create mode 100644 TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs create mode 100644 TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta rename {TNode => TNodeCore}/Editor/Resources.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/DefaultNodeData.asset (100%) rename {TNode => TNodeCore}/Editor/Resources/DefaultNodeData.asset.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/GraphEditor.uss (100%) rename {TNode => TNodeCore}/Editor/Resources/GraphEditor.uss.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/GraphEditor.uxml (100%) rename {TNode => TNodeCore}/Editor/Resources/GraphEditor.uxml.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/GraphViewBackground.uss (100%) rename {TNode => TNodeCore}/Editor/Resources/GraphViewBackground.uss.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/NodeInspector.uss (100%) rename {TNode => TNodeCore}/Editor/Resources/NodeInspector.uss.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/NodeInspector.uxml (100%) rename {TNode => TNodeCore}/Editor/Resources/NodeInspector.uxml.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates/NewGraph.cs.txt (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt (100%) rename {TNode => TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta (100%) rename {TNode => TNodeCore}/Editor/Serialization.meta (100%) create mode 100644 TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs rename {TNode => TNodeCore}/Editor/Serialization/BlackboardDataWrapper.cs.meta (100%) rename {TNode => TNodeCore}/Editor/Serialization/NodeDataWrapper.cs (97%) rename {TNode => TNodeCore}/Editor/Serialization/NodeDataWrapper.cs.meta (100%) rename {TNode => TNodeCore}/Editor/Tools.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs (98%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs (97%) rename {TNode => TNodeCore}/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/NodeCreator.meta (100%) rename {TNode => TNodeCore}/Editor/Tools/NodeCreator/NodeCreator.cs (90%) rename {TNode => TNodeCore}/Editor/Tools/NodeCreator/NodeCreator.cs.meta (100%) rename {TNode => TNodeCore}/Models.meta (100%) rename {TNode => TNodeCore}/Models/BlackboardData.cs (64%) rename {TNode => TNodeCore}/Models/BlackboardData.cs.meta (100%) rename {TNode => TNodeCore}/Models/BlackboardDragNodeData.cs (69%) rename {TNode => TNodeCore}/Models/BlackboardDragNodeData.cs.meta (100%) rename {TNode => TNodeCore}/Models/GraphData.cs (93%) rename {TNode => TNodeCore}/Models/GraphData.cs.meta (100%) rename {TNode => TNodeCore}/Models/IModel.cs (57%) rename {TNode => TNodeCore}/Models/IModel.cs.meta (100%) rename {TNode => TNodeCore}/Models/NodeData.cs (92%) rename {TNode => TNodeCore}/Models/NodeData.cs.meta (100%) rename {TNode => TNodeCore}/Models/NodeLink.cs (85%) rename {TNode => TNodeCore}/Models/NodeLink.cs.meta (100%) rename {TNode => TNodeCore}/Models/PortInfo.cs (82%) rename {TNode => TNodeCore}/Models/PortInfo.cs.meta (100%) rename {TNode => TNodeCore}/Models/SceneObjectWrapper.cs (98%) rename {TNode => TNodeCore}/Models/SceneObjectWrapper.cs.meta (100%) rename {TNode => TNodeCore}/Runtime.meta (100%) create mode 100644 TNodeCore/Runtime/RuntimeGraph.cs rename {TNode => TNodeCore}/Runtime/RuntimeGraph.cs.meta (100%) rename {TNode => TNodeCore}/Runtime/RuntimeNode.cs (58%) rename {TNode => TNodeCore}/Runtime/RuntimeNode.cs.meta (100%) rename {TNode => TNodeCore}/Runtime/Runtimeblackboard.cs (59%) rename {TNode => TNodeCore}/Runtime/Runtimeblackboard.cs.meta (100%) rename {TNode => TNodeCore}/Runtime/SceneSerializedData.cs (87%) rename {TNode => TNodeCore}/Runtime/SceneSerializedData.cs.meta (100%) rename {TNode => TNodeCore}/RuntimeCache.meta (100%) rename {TNode => TNodeCore}/RuntimeCache/RuntimeCache.cs (67%) rename {TNode => TNodeCore}/RuntimeCache/RuntimeCache.cs.meta (100%) create mode 100644 TNodeCore/TNodeCore.asmdef create mode 100644 TNodeCore/TNodeCore.asmdef.meta diff --git a/Sample/MathGraph/Editor/MathGraphView.cs b/Sample/MathGraph/Editor/MathGraphView.cs index 05928c2..2e366ef 100644 --- a/Sample/MathGraph/Editor/MathGraphView.cs +++ b/Sample/MathGraph/Editor/MathGraphView.cs @@ -1,5 +1,4 @@ -using TNode.Models; -using TNode.Attribute; +using TNodeCore.Attribute; using TNodeGraphViewImpl.Editor.NodeGraphView; [ViewComponent] diff --git a/Sample/MathGraph/MathGraph.cs b/Sample/MathGraph/MathGraph.cs index 31e37ee..d480670 100644 --- a/Sample/MathGraph/MathGraph.cs +++ b/Sample/MathGraph/MathGraph.cs @@ -1,7 +1,8 @@ -using TNode.Models; using UnityEngine; using UnityEditor; using System; +using TNodeCore.Models; + [CreateAssetMenu(fileName = "New MathGraph", menuName = "TNode/MathGraph")] [Serializable] public class MathGraph : GraphData{ diff --git a/TNode/Editor/Serialization/BlackboardDataWrapper.cs b/TNode/Editor/Serialization/BlackboardDataWrapper.cs deleted file mode 100644 index 5d05035..0000000 --- a/TNode/Editor/Serialization/BlackboardDataWrapper.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using TNode.Models; -using UnityEngine; - -namespace TNode.Editor.Serialization{ - public class BlackboardDataWrapper:DataWrapper{ - - } -} \ No newline at end of file diff --git a/TNode/Runtime/RuntimeGraph.cs b/TNode/Runtime/RuntimeGraph.cs deleted file mode 100644 index 1a140b7..0000000 --- a/TNode/Runtime/RuntimeGraph.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using TNode.Models; -using UnityEngine; - -namespace TNode.Runtime{ - public class RuntimeGraph:MonoBehaviour{ - public GraphData graphData; - public SortedSet _sortedSet; - - public void Start(){ - //iterate through all nodes and add them to the sorted set - foreach (var node in graphData.NodeDictionary.Values){ - - } - } - - public void StartProcessNode(ProcessingStrategy strategy, RuntimeNode entry){ - - } - - } - - public enum ProcessingStrategy{ - BreadthFirst, - DepthFirst - } -} \ No newline at end of file diff --git a/TNode.meta b/TNodeCore.meta similarity index 100% rename from TNode.meta rename to TNodeCore.meta diff --git a/TNode/Attribute.meta b/TNodeCore/Attribute.meta similarity index 100% rename from TNode/Attribute.meta rename to TNodeCore/Attribute.meta diff --git a/TNode/Attribute/DisableOnInspector.cs b/TNodeCore/Attribute/DisableOnInspector.cs similarity index 90% rename from TNode/Attribute/DisableOnInspector.cs rename to TNodeCore/Attribute/DisableOnInspector.cs index 841963c..158ccba 100644 --- a/TNode/Attribute/DisableOnInspector.cs +++ b/TNodeCore/Attribute/DisableOnInspector.cs @@ -1,6 +1,6 @@ using System; -namespace TNode.Attribute{ +namespace TNodeCore.Attribute{ /// /// Use this attribute to mark a field as disabled.An disable field will not be edit by the inspector. /// diff --git a/TNode/Attribute/DisableOnInspector.cs.meta b/TNodeCore/Attribute/DisableOnInspector.cs.meta similarity index 100% rename from TNode/Attribute/DisableOnInspector.cs.meta rename to TNodeCore/Attribute/DisableOnInspector.cs.meta diff --git a/TNode/Attribute/GraphUsageAttribute.cs b/TNodeCore/Attribute/GraphUsageAttribute.cs similarity index 92% rename from TNode/Attribute/GraphUsageAttribute.cs rename to TNodeCore/Attribute/GraphUsageAttribute.cs index 67f1ff4..af08872 100644 --- a/TNode/Attribute/GraphUsageAttribute.cs +++ b/TNodeCore/Attribute/GraphUsageAttribute.cs @@ -1,9 +1,8 @@ using System; using JetBrains.Annotations; -using TNode.Models; -using Unity.VisualScripting; +using TNodeCore.Models; -namespace TNode.Attribute{ +namespace TNodeCore.Attribute{ /// /// Use this attribute to claim the usage of a type derived IModel IModel /// it can be applied to the same node multiple times. diff --git a/TNode/Attribute/GraphUsageAttribute.cs.meta b/TNodeCore/Attribute/GraphUsageAttribute.cs.meta similarity index 100% rename from TNode/Attribute/GraphUsageAttribute.cs.meta rename to TNodeCore/Attribute/GraphUsageAttribute.cs.meta diff --git a/TNode/Attribute/NodeAttribute.cs b/TNodeCore/Attribute/NodeAttribute.cs similarity index 80% rename from TNode/Attribute/NodeAttribute.cs rename to TNodeCore/Attribute/NodeAttribute.cs index f27663f..447e36f 100644 --- a/TNode/Attribute/NodeAttribute.cs +++ b/TNodeCore/Attribute/NodeAttribute.cs @@ -1,7 +1,7 @@ using JetBrains.Annotations; -using TNode.Models; +using TNodeCore.Models; -namespace TNode.Attribute{ +namespace TNodeCore.Attribute{ [MeansImplicitUse] [BaseTypeRequired(typeof(NodeData))] diff --git a/TNode/Attribute/NodeAttribute.cs.meta b/TNodeCore/Attribute/NodeAttribute.cs.meta similarity index 100% rename from TNode/Attribute/NodeAttribute.cs.meta rename to TNodeCore/Attribute/NodeAttribute.cs.meta diff --git a/TNode/Attribute/Ports.meta b/TNodeCore/Attribute/Ports.meta similarity index 100% rename from TNode/Attribute/Ports.meta rename to TNodeCore/Attribute/Ports.meta diff --git a/TNode/Attribute/Ports/BatchInputAttribute.cs b/TNodeCore/Attribute/Ports/BatchInputAttribute.cs similarity index 56% rename from TNode/Attribute/Ports/BatchInputAttribute.cs rename to TNodeCore/Attribute/Ports/BatchInputAttribute.cs index 4786d55..76217b7 100644 --- a/TNode/Attribute/Ports/BatchInputAttribute.cs +++ b/TNodeCore/Attribute/Ports/BatchInputAttribute.cs @@ -1,4 +1,4 @@ -namespace TNode.Attribute.Ports{ +namespace TNodeCore.Attribute.Ports{ public class BatchInputAttribute{ } diff --git a/TNode/Attribute/Ports/BatchInputAttribute.cs.meta b/TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta similarity index 100% rename from TNode/Attribute/Ports/BatchInputAttribute.cs.meta rename to TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta diff --git a/TNode/Attribute/Ports/BatchOutputAttribute.cs b/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs similarity index 83% rename from TNode/Attribute/Ports/BatchOutputAttribute.cs rename to TNodeCore/Attribute/Ports/BatchOutputAttribute.cs index 71a20c3..5b21830 100644 --- a/TNode/Attribute/Ports/BatchOutputAttribute.cs +++ b/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs @@ -1,7 +1,6 @@ using System; -using UnityEditor.Experimental.GraphView; -namespace TNode.Attribute.Ports{ +namespace TNodeCore.Attribute.Ports{ /// /// Batch out port attribute could specify a batch out port,allowing large scale calculation. /// diff --git a/TNode/Attribute/Ports/BatchOutputAttribute.cs.meta b/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta similarity index 100% rename from TNode/Attribute/Ports/BatchOutputAttribute.cs.meta rename to TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta diff --git a/TNode/Attribute/Ports/InputAttribute.cs b/TNodeCore/Attribute/Ports/InputAttribute.cs similarity index 91% rename from TNode/Attribute/Ports/InputAttribute.cs rename to TNodeCore/Attribute/Ports/InputAttribute.cs index 3755188..80a92a6 100644 --- a/TNode/Attribute/Ports/InputAttribute.cs +++ b/TNodeCore/Attribute/Ports/InputAttribute.cs @@ -1,7 +1,7 @@ using System; using JetBrains.Annotations; -namespace TNode.Attribute.Ports{ +namespace TNodeCore.Attribute.Ports{ [MeansImplicitUse] [AttributeUsage(AttributeTargets.Property, AllowMultiple = true)] public class InputAttribute : PortAttribute{ diff --git a/TNode/Attribute/Ports/InputAttribute.cs.meta b/TNodeCore/Attribute/Ports/InputAttribute.cs.meta similarity index 100% rename from TNode/Attribute/Ports/InputAttribute.cs.meta rename to TNodeCore/Attribute/Ports/InputAttribute.cs.meta diff --git a/TNode/Attribute/Ports/OutputAttribute.cs b/TNodeCore/Attribute/Ports/OutputAttribute.cs similarity index 86% rename from TNode/Attribute/Ports/OutputAttribute.cs rename to TNodeCore/Attribute/Ports/OutputAttribute.cs index b9c6888..7fb3c8d 100644 --- a/TNode/Attribute/Ports/OutputAttribute.cs +++ b/TNodeCore/Attribute/Ports/OutputAttribute.cs @@ -1,4 +1,4 @@ -namespace TNode.Attribute.Ports{ +namespace TNodeCore.Attribute.Ports{ public class OutputAttribute:PortAttribute{ diff --git a/TNode/Attribute/Ports/OutputAttribute.cs.meta b/TNodeCore/Attribute/Ports/OutputAttribute.cs.meta similarity index 100% rename from TNode/Attribute/Ports/OutputAttribute.cs.meta rename to TNodeCore/Attribute/Ports/OutputAttribute.cs.meta diff --git a/TNode/Attribute/Ports/PortAttribute.cs b/TNodeCore/Attribute/Ports/PortAttribute.cs similarity index 95% rename from TNode/Attribute/Ports/PortAttribute.cs rename to TNodeCore/Attribute/Ports/PortAttribute.cs index 1ade1cc..fe49e84 100644 --- a/TNode/Attribute/Ports/PortAttribute.cs +++ b/TNodeCore/Attribute/Ports/PortAttribute.cs @@ -1,7 +1,7 @@ using System; using JetBrains.Annotations; -namespace TNode.Attribute.Ports{ +namespace TNodeCore.Attribute.Ports{ public enum PortNameHandling{ Auto, diff --git a/TNode/Attribute/Ports/PortAttribute.cs.meta b/TNodeCore/Attribute/Ports/PortAttribute.cs.meta similarity index 100% rename from TNode/Attribute/Ports/PortAttribute.cs.meta rename to TNodeCore/Attribute/Ports/PortAttribute.cs.meta diff --git a/TNode/Attribute/ShowInNodeViewAttribute.cs b/TNodeCore/Attribute/ShowInNodeViewAttribute.cs similarity index 84% rename from TNode/Attribute/ShowInNodeViewAttribute.cs rename to TNodeCore/Attribute/ShowInNodeViewAttribute.cs index d516534..87f5ab6 100644 --- a/TNode/Attribute/ShowInNodeViewAttribute.cs +++ b/TNodeCore/Attribute/ShowInNodeViewAttribute.cs @@ -1,6 +1,6 @@ using System; -namespace TNode.Attribute{ +namespace TNodeCore.Attribute{ [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = false)] public class ShowInNodeViewAttribute:System.Attribute{ diff --git a/TNode/Attribute/ShowInNodeViewAttribute.cs.meta b/TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta similarity index 100% rename from TNode/Attribute/ShowInNodeViewAttribute.cs.meta rename to TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta diff --git a/TNode/Attribute/ViewComponentAttribute.cs b/TNodeCore/Attribute/ViewComponentAttribute.cs similarity index 81% rename from TNode/Attribute/ViewComponentAttribute.cs rename to TNodeCore/Attribute/ViewComponentAttribute.cs index 6399726..fd525f0 100644 --- a/TNode/Attribute/ViewComponentAttribute.cs +++ b/TNodeCore/Attribute/ViewComponentAttribute.cs @@ -1,9 +1,7 @@ using System; -using System.Diagnostics.CodeAnalysis; using JetBrains.Annotations; - -namespace TNode.Attribute{ +namespace TNodeCore.Attribute{ //Check if the ide is Rider diff --git a/TNode/Attribute/ViewComponentAttribute.cs.meta b/TNodeCore/Attribute/ViewComponentAttribute.cs.meta similarity index 100% rename from TNode/Attribute/ViewComponentAttribute.cs.meta rename to TNodeCore/Attribute/ViewComponentAttribute.cs.meta diff --git a/TNode/DataWrapper.cs b/TNodeCore/DataWrapper.cs similarity index 96% rename from TNode/DataWrapper.cs rename to TNodeCore/DataWrapper.cs index 95b3afd..64e96ea 100644 --- a/TNode/DataWrapper.cs +++ b/TNodeCore/DataWrapper.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; -using TNode.Models; using UnityEngine; -namespace TNode.Editor.Serialization{ +namespace TNodeCore{ [Serializable] public class DataWrapper:ScriptableObject where TWrapper:DataWrapper,new(){ [SerializeReference] diff --git a/TNode/DataWrapper.cs.meta b/TNodeCore/DataWrapper.cs.meta similarity index 100% rename from TNode/DataWrapper.cs.meta rename to TNodeCore/DataWrapper.cs.meta diff --git a/TNode/Editor.meta b/TNodeCore/Editor.meta similarity index 100% rename from TNode/Editor.meta rename to TNodeCore/Editor.meta diff --git a/TNode/Editor/Blackboard.meta b/TNodeCore/Editor/Blackboard.meta similarity index 100% rename from TNode/Editor/Blackboard.meta rename to TNodeCore/Editor/Blackboard.meta diff --git a/TNode/Editor/Blackboard/IBlackboardView.cs b/TNodeCore/Editor/Blackboard/IBlackboardView.cs similarity index 79% rename from TNode/Editor/Blackboard/IBlackboardView.cs rename to TNodeCore/Editor/Blackboard/IBlackboardView.cs index eca1cf9..e40f9d5 100644 --- a/TNode/Editor/Blackboard/IBlackboardView.cs +++ b/TNodeCore/Editor/Blackboard/IBlackboardView.cs @@ -1,9 +1,8 @@ -using TNode.Editor.NodeGraphView; -using TNode.Models; +using TNodeCore.Editor.NodeGraphView; +using TNodeCore.Models; using UnityEditor; -using UnityEngine; -namespace TNode.Editor.Blackboard{ +namespace TNodeCore.Editor.Blackboard{ public interface IBlackboardView{ public BlackboardData GetBlackboardData(); public void SetBlackboardData(BlackboardData data); diff --git a/TNode/Editor/Blackboard/IBlackboardView.cs.meta b/TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta similarity index 100% rename from TNode/Editor/Blackboard/IBlackboardView.cs.meta rename to TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta diff --git a/TNode/Editor/EditorPersistence.meta b/TNodeCore/Editor/EditorPersistence.meta similarity index 100% rename from TNode/Editor/EditorPersistence.meta rename to TNodeCore/Editor/EditorPersistence.meta diff --git a/TNode/Editor/EditorPersistence/GraphEditorData.cs b/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs similarity index 85% rename from TNode/Editor/EditorPersistence/GraphEditorData.cs rename to TNodeCore/Editor/EditorPersistence/GraphEditorData.cs index 9c64722..c615a56 100644 --- a/TNode/Editor/EditorPersistence/GraphEditorData.cs +++ b/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using UnityEngine; -namespace TNode.Editor.EditorPersistence{ +namespace TNodeCore.Editor.EditorPersistence{ [CreateAssetMenu(fileName = "Graph Editor Data", menuName = "TNode/Graph Editor Data")] public class GraphEditorData:ScriptableObject{ diff --git a/TNode/Editor/EditorPersistence/GraphEditorData.cs.meta b/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta similarity index 100% rename from TNode/Editor/EditorPersistence/GraphEditorData.cs.meta rename to TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta diff --git a/TNode/Editor/EditorPersistence/GraphElementEditorData.cs b/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs similarity index 77% rename from TNode/Editor/EditorPersistence/GraphElementEditorData.cs rename to TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs index 6c8809a..fb3e9e9 100644 --- a/TNode/Editor/EditorPersistence/GraphElementEditorData.cs +++ b/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace TNode.Editor.EditorPersistence{ +namespace TNodeCore.Editor.EditorPersistence{ [Serializable] public class GraphElementEditorData{ diff --git a/TNode/Editor/EditorPersistence/GraphElementEditorData.cs.meta b/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta similarity index 100% rename from TNode/Editor/EditorPersistence/GraphElementEditorData.cs.meta rename to TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta diff --git a/TNode/Editor/EditorPersistence/IGraphViewPersistence.cs b/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs similarity index 84% rename from TNode/Editor/EditorPersistence/IGraphViewPersistence.cs rename to TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs index bc9e60c..9c22f1a 100644 --- a/TNode/Editor/EditorPersistence/IGraphViewPersistence.cs +++ b/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs @@ -1,4 +1,4 @@ -namespace TNode.Editor.EditorPersistence{ +namespace TNodeCore.Editor.EditorPersistence{ public interface IGraphViewPersistence{ public string GetPersistenceId(); public void ResetPos(GraphEditorData editorData); diff --git a/TNode/Editor/EditorPersistence/IGraphViewPersistence.cs.meta b/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta similarity index 100% rename from TNode/Editor/EditorPersistence/IGraphViewPersistence.cs.meta rename to TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta diff --git a/TNode/Editor/EditorPersistence/SubWindowEditorData.cs b/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs similarity index 51% rename from TNode/Editor/EditorPersistence/SubWindowEditorData.cs rename to TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs index ff64408..b174a79 100644 --- a/TNode/Editor/EditorPersistence/SubWindowEditorData.cs +++ b/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs @@ -1,4 +1,4 @@ -namespace TNode.Editor.EditorPersistence{ +namespace TNodeCore.Editor.EditorPersistence{ public class SubWindowEditorData{ } diff --git a/TNode/Editor/EditorPersistence/SubWindowEditorData.cs.meta b/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta similarity index 100% rename from TNode/Editor/EditorPersistence/SubWindowEditorData.cs.meta rename to TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta diff --git a/TNode/Editor/Inspector.meta b/TNodeCore/Editor/Inspector.meta similarity index 100% rename from TNode/Editor/Inspector.meta rename to TNodeCore/Editor/Inspector.meta diff --git a/TNode/Editor/Inspector/INodeDataBinding.cs b/TNodeCore/Editor/Inspector/INodeDataBinding.cs similarity index 65% rename from TNode/Editor/Inspector/INodeDataBinding.cs rename to TNodeCore/Editor/Inspector/INodeDataBinding.cs index d6f9613..7c109d0 100644 --- a/TNode/Editor/Inspector/INodeDataBinding.cs +++ b/TNodeCore/Editor/Inspector/INodeDataBinding.cs @@ -1,7 +1,4 @@ -using TNode.Models; -using UnityEngine; - -namespace TNode.Editor.Inspector{ +namespace TNodeCore.Editor.Inspector{ public interface INodeDataBinding:INodeDataBindingBase{ diff --git a/TNode/Editor/Inspector/INodeDataBinding.cs.meta b/TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta similarity index 100% rename from TNode/Editor/Inspector/INodeDataBinding.cs.meta rename to TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta diff --git a/TNode/Editor/Inspector/INodeDataBindingBase.cs b/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs similarity index 69% rename from TNode/Editor/Inspector/INodeDataBindingBase.cs rename to TNodeCore/Editor/Inspector/INodeDataBindingBase.cs index bb367b9..b84492c 100644 --- a/TNode/Editor/Inspector/INodeDataBindingBase.cs +++ b/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs @@ -1,6 +1,6 @@ -using TNode.Models; +using TNodeCore.Models; -namespace TNode.Editor.Inspector{ +namespace TNodeCore.Editor.Inspector{ public interface INodeDataBindingBase{ public string BindingPath{ get; set; } public NodeData BindingNodeData{ get; set; } diff --git a/TNode/Editor/Inspector/INodeDataBindingBase.cs.meta b/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta similarity index 100% rename from TNode/Editor/Inspector/INodeDataBindingBase.cs.meta rename to TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta diff --git a/TNode/Editor/NodeGraphView.meta b/TNodeCore/Editor/NodeGraphView.meta similarity index 100% rename from TNode/Editor/NodeGraphView.meta rename to TNodeCore/Editor/NodeGraphView.meta diff --git a/TNode/Editor/NodeGraphView/IBaseDataGraphView.cs b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs similarity index 82% rename from TNode/Editor/NodeGraphView/IBaseDataGraphView.cs rename to TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs index 16289d0..e30b7ca 100644 --- a/TNode/Editor/NodeGraphView/IBaseDataGraphView.cs +++ b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs @@ -1,7 +1,7 @@ -using TNode.Models; +using TNodeCore.Models; using UnityEngine; -namespace TNode.Editor.NodeGraphView{ +namespace TNodeCore.Editor.NodeGraphView{ public interface IBaseDataGraphView{ public void AddTNode(NodeData nodeData, Rect rect); public void RemoveTNode(NodeData nodeData); diff --git a/TNode/Editor/NodeGraphView/IBaseDataGraphView.cs.meta b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta similarity index 100% rename from TNode/Editor/NodeGraphView/IBaseDataGraphView.cs.meta rename to TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta diff --git a/TNode/Editor/NodeGraphView/IDataGraphView.cs b/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs similarity index 63% rename from TNode/Editor/NodeGraphView/IDataGraphView.cs rename to TNodeCore/Editor/NodeGraphView/IDataGraphView.cs index e0ed67b..8d00d8a 100644 --- a/TNode/Editor/NodeGraphView/IDataGraphView.cs +++ b/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs @@ -1,6 +1,6 @@ -using TNode.Models; +using TNodeCore.Models; -namespace TNode.Editor.NodeGraphView{ +namespace TNodeCore.Editor.NodeGraphView{ public interface IDataGraphView : IBaseDataGraphView where T:GraphData{ public T Data{ get; set; } } diff --git a/TNode/Editor/NodeGraphView/IDataGraphView.cs.meta b/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta similarity index 100% rename from TNode/Editor/NodeGraphView/IDataGraphView.cs.meta rename to TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta diff --git a/TNodeCore/Editor/PropertyDrawer.meta b/TNodeCore/Editor/PropertyDrawer.meta new file mode 100644 index 0000000..d0afc7a --- /dev/null +++ b/TNodeCore/Editor/PropertyDrawer.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a117c02cea8248beadd23fb13f77c2d8 +timeCreated: 1657878045 \ No newline at end of file diff --git a/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs b/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs new file mode 100644 index 0000000..06274ac --- /dev/null +++ b/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs @@ -0,0 +1,60 @@ + +// namespace TNode.Editor{ +// [CustomPropertyDrawer(typeof(BlackboardData))] +// public class BlackboardDataPropertyDrawer:PropertyDrawer{ +// public float height = 0; +// public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) +// { +// // Using BeginProperty / EndProperty on the parent property means that +// // prefab override logic works on the entire property. +// var to = property.serializedObject.targetObject; +// +// if (to is RuntimeGraph runtimeGraph){ +// var blackboardData = property.boxedValue; +// var graphType = runtimeGraph.graphData.GetType(); +// +// Debug.Log(blackboardData); +// +// if (blackboardData == null || blackboardData.GetType()==typeof(BlackboardData)) +// { blackboardData= NodeEditorExtensions.GetAppropriateBlackboardData(graphType); +// property.boxedValue = blackboardData; +// +// } +// +// +// var posy = position.y; +// EditorGUI.BeginProperty(position, label, property); +// +// // Draw label +// EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label); +// height = EditorGUIUtility.singleLineHeight; +// +// // Don't make child fields be indented +// var indent = EditorGUI.indentLevel; +// EditorGUI.indentLevel = 0; +// +// //find the blackboard data +// +// var blackboardDataFields = blackboardData.GetType().GetFields(); +// posy += EditorGUIUtility.singleLineHeight; +// foreach (var blackboardDataField in blackboardDataFields){ +// var newPosition = new Rect(position.x, posy, position.width, EditorGUIUtility.singleLineHeight); +// EditorGUI.PropertyField(newPosition, property.FindPropertyRelative(blackboardDataField.Name), new GUIContent(blackboardDataField.Name)); +// posy += EditorGUIUtility.singleLineHeight; +// height+=EditorGUIUtility.singleLineHeight; +// } +// +// // Set indent back to what it was +// EditorGUI.indentLevel = indent; +// +// EditorGUI.EndProperty(); +// } +// +// +// } +// public override float GetPropertyHeight(SerializedProperty property, GUIContent label) +// { +// return base.GetPropertyHeight(property, label) + height; +// } +// } +// } \ No newline at end of file diff --git a/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta b/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta new file mode 100644 index 0000000..45945d5 --- /dev/null +++ b/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e731c94a155641f39da7e1eb47f80f01 +timeCreated: 1657878003 \ No newline at end of file diff --git a/TNode/Editor/Resources.meta b/TNodeCore/Editor/Resources.meta similarity index 100% rename from TNode/Editor/Resources.meta rename to TNodeCore/Editor/Resources.meta diff --git a/TNode/Editor/Resources/DefaultNodeData.asset b/TNodeCore/Editor/Resources/DefaultNodeData.asset similarity index 100% rename from TNode/Editor/Resources/DefaultNodeData.asset rename to TNodeCore/Editor/Resources/DefaultNodeData.asset diff --git a/TNode/Editor/Resources/DefaultNodeData.asset.meta b/TNodeCore/Editor/Resources/DefaultNodeData.asset.meta similarity index 100% rename from TNode/Editor/Resources/DefaultNodeData.asset.meta rename to TNodeCore/Editor/Resources/DefaultNodeData.asset.meta diff --git a/TNode/Editor/Resources/GraphEditor.uss b/TNodeCore/Editor/Resources/GraphEditor.uss similarity index 100% rename from TNode/Editor/Resources/GraphEditor.uss rename to TNodeCore/Editor/Resources/GraphEditor.uss diff --git a/TNode/Editor/Resources/GraphEditor.uss.meta b/TNodeCore/Editor/Resources/GraphEditor.uss.meta similarity index 100% rename from TNode/Editor/Resources/GraphEditor.uss.meta rename to TNodeCore/Editor/Resources/GraphEditor.uss.meta diff --git a/TNode/Editor/Resources/GraphEditor.uxml b/TNodeCore/Editor/Resources/GraphEditor.uxml similarity index 100% rename from TNode/Editor/Resources/GraphEditor.uxml rename to TNodeCore/Editor/Resources/GraphEditor.uxml diff --git a/TNode/Editor/Resources/GraphEditor.uxml.meta b/TNodeCore/Editor/Resources/GraphEditor.uxml.meta similarity index 100% rename from TNode/Editor/Resources/GraphEditor.uxml.meta rename to TNodeCore/Editor/Resources/GraphEditor.uxml.meta diff --git a/TNode/Editor/Resources/GraphViewBackground.uss b/TNodeCore/Editor/Resources/GraphViewBackground.uss similarity index 100% rename from TNode/Editor/Resources/GraphViewBackground.uss rename to TNodeCore/Editor/Resources/GraphViewBackground.uss diff --git a/TNode/Editor/Resources/GraphViewBackground.uss.meta b/TNodeCore/Editor/Resources/GraphViewBackground.uss.meta similarity index 100% rename from TNode/Editor/Resources/GraphViewBackground.uss.meta rename to TNodeCore/Editor/Resources/GraphViewBackground.uss.meta diff --git a/TNode/Editor/Resources/NodeInspector.uss b/TNodeCore/Editor/Resources/NodeInspector.uss similarity index 100% rename from TNode/Editor/Resources/NodeInspector.uss rename to TNodeCore/Editor/Resources/NodeInspector.uss diff --git a/TNode/Editor/Resources/NodeInspector.uss.meta b/TNodeCore/Editor/Resources/NodeInspector.uss.meta similarity index 100% rename from TNode/Editor/Resources/NodeInspector.uss.meta rename to TNodeCore/Editor/Resources/NodeInspector.uss.meta diff --git a/TNode/Editor/Resources/NodeInspector.uxml b/TNodeCore/Editor/Resources/NodeInspector.uxml similarity index 100% rename from TNode/Editor/Resources/NodeInspector.uxml rename to TNodeCore/Editor/Resources/NodeInspector.uxml diff --git a/TNode/Editor/Resources/NodeInspector.uxml.meta b/TNodeCore/Editor/Resources/NodeInspector.uxml.meta similarity index 100% rename from TNode/Editor/Resources/NodeInspector.uxml.meta rename to TNodeCore/Editor/Resources/NodeInspector.uxml.meta diff --git a/TNode/Editor/Resources/ScriptTemplates.meta b/TNodeCore/Editor/Resources/ScriptTemplates.meta similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates.meta rename to TNodeCore/Editor/Resources/ScriptTemplates.meta diff --git a/TNode/Editor/Resources/ScriptTemplates/NewGraph.cs.txt b/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates/NewGraph.cs.txt rename to TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt diff --git a/TNode/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta b/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta rename to TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta diff --git a/TNode/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt b/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt rename to TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt diff --git a/TNode/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta b/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta rename to TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta diff --git a/TNode/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt b/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt rename to TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt diff --git a/TNode/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta b/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta similarity index 100% rename from TNode/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta rename to TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta diff --git a/TNode/Editor/Serialization.meta b/TNodeCore/Editor/Serialization.meta similarity index 100% rename from TNode/Editor/Serialization.meta rename to TNodeCore/Editor/Serialization.meta diff --git a/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs b/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs new file mode 100644 index 0000000..d64b76d --- /dev/null +++ b/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs @@ -0,0 +1,7 @@ +using TNodeCore.Models; + +namespace TNodeCore.Editor.Serialization{ + public class BlackboardDataWrapper:DataWrapper{ + + } +} \ No newline at end of file diff --git a/TNode/Editor/Serialization/BlackboardDataWrapper.cs.meta b/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta similarity index 100% rename from TNode/Editor/Serialization/BlackboardDataWrapper.cs.meta rename to TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta diff --git a/TNode/Editor/Serialization/NodeDataWrapper.cs b/TNodeCore/Editor/Serialization/NodeDataWrapper.cs similarity index 97% rename from TNode/Editor/Serialization/NodeDataWrapper.cs rename to TNodeCore/Editor/Serialization/NodeDataWrapper.cs index 816df2e..772e9a8 100644 --- a/TNode/Editor/Serialization/NodeDataWrapper.cs +++ b/TNodeCore/Editor/Serialization/NodeDataWrapper.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; -using TNode.Models; +using TNodeCore.Models; using UnityEngine; -using UnityEngine.Serialization; - -namespace TNode.Editor.Serialization{ +namespace TNodeCore.Editor.Serialization{ [Obsolete] public class NodeDataWrapper : ScriptableObject where T : NodeData{ diff --git a/TNode/Editor/Serialization/NodeDataWrapper.cs.meta b/TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta similarity index 100% rename from TNode/Editor/Serialization/NodeDataWrapper.cs.meta rename to TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta diff --git a/TNode/Editor/Tools.meta b/TNodeCore/Editor/Tools.meta similarity index 100% rename from TNode/Editor/Tools.meta rename to TNodeCore/Editor/Tools.meta diff --git a/TNode/Editor/Tools/GraphEditorCreator.meta b/TNodeCore/Editor/Tools/GraphEditorCreator.meta similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator.meta rename to TNodeCore/Editor/Tools/GraphEditorCreator.meta diff --git a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs similarity index 98% rename from TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs rename to TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs index 13c2ed3..0d166b1 100644 --- a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs +++ b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs @@ -1,6 +1,6 @@ using System.IO; using System.Text.RegularExpressions; -using TNode.Editor.EditorPersistence; +using TNodeCore.Editor.EditorPersistence; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; @@ -8,7 +8,7 @@ using UnityEngine.UIElements; //add an attribute right click asset panel and select "TNode/Create/Create New Graph Editor" to call this editor -namespace TNode.Editor.Tools.GraphEditorCreator{ +namespace TNodeCore.Editor.Tools.GraphEditorCreator{ public class GraphEditorCreator : EditorWindow { diff --git a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta rename to TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta diff --git a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss rename to TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss diff --git a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta rename to TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta diff --git a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml rename to TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml diff --git a/TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta b/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta rename to TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta diff --git a/TNode/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs b/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs similarity index 97% rename from TNode/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs rename to TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs index 7529026..a501aae 100644 --- a/TNode/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs +++ b/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs @@ -1,7 +1,7 @@ using System.Text.RegularExpressions; using UnityEngine; -namespace TNode.Editor.Tools.GraphEditorCreator{ +namespace TNodeCore.Editor.Tools.GraphEditorCreator{ public class SourceGeneratorForGraphEditor{ private readonly Regex Regex = new System.Text.RegularExpressions.Regex("^[a-zA-Z0-9_]+$"); public string GenerateGraphEditor(string editorClassName,string graphClassName,string templateName="NewGraphEditor.cs"){ diff --git a/TNode/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta b/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta similarity index 100% rename from TNode/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta rename to TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta diff --git a/TNode/Editor/Tools/NodeCreator.meta b/TNodeCore/Editor/Tools/NodeCreator.meta similarity index 100% rename from TNode/Editor/Tools/NodeCreator.meta rename to TNodeCore/Editor/Tools/NodeCreator.meta diff --git a/TNode/Editor/Tools/NodeCreator/NodeCreator.cs b/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs similarity index 90% rename from TNode/Editor/Tools/NodeCreator/NodeCreator.cs rename to TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs index 416e8a1..3ed372b 100644 --- a/TNode/Editor/Tools/NodeCreator/NodeCreator.cs +++ b/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs @@ -1,7 +1,7 @@ using System; -using TNode.Models; +using TNodeCore.Models; -namespace TNode.Editor.Tools.NodeCreator{ +namespace TNodeCore.Editor.Tools.NodeCreator{ public static class NodeCreator{ /// diff --git a/TNode/Editor/Tools/NodeCreator/NodeCreator.cs.meta b/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta similarity index 100% rename from TNode/Editor/Tools/NodeCreator/NodeCreator.cs.meta rename to TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta diff --git a/TNode/Models.meta b/TNodeCore/Models.meta similarity index 100% rename from TNode/Models.meta rename to TNodeCore/Models.meta diff --git a/TNode/Models/BlackboardData.cs b/TNodeCore/Models/BlackboardData.cs similarity index 64% rename from TNode/Models/BlackboardData.cs rename to TNodeCore/Models/BlackboardData.cs index ad1a97e..95b35b6 100644 --- a/TNode/Models/BlackboardData.cs +++ b/TNodeCore/Models/BlackboardData.cs @@ -1,8 +1,6 @@ using System; -using System.Collections.Generic; -using Object = UnityEngine.Object; -namespace TNode.Models{ +namespace TNodeCore.Models{ /// /// Black board data can store scene data /// diff --git a/TNode/Models/BlackboardData.cs.meta b/TNodeCore/Models/BlackboardData.cs.meta similarity index 100% rename from TNode/Models/BlackboardData.cs.meta rename to TNodeCore/Models/BlackboardData.cs.meta diff --git a/TNode/Models/BlackboardDragNodeData.cs b/TNodeCore/Models/BlackboardDragNodeData.cs similarity index 69% rename from TNode/Models/BlackboardDragNodeData.cs rename to TNodeCore/Models/BlackboardDragNodeData.cs index 3fb0891..773bcb5 100644 --- a/TNode/Models/BlackboardDragNodeData.cs +++ b/TNodeCore/Models/BlackboardDragNodeData.cs @@ -1,13 +1,9 @@ using System; -using System.Runtime.InteropServices; -using Newtonsoft.Json; -using TNode.Attribute; -using TNode.Attribute.Ports; -using TNode.RuntimeCache; +using TNodeCore.Attribute.Ports; +using TNodeCore.RuntimeCache; using UnityEngine; -using UnityEngine.Serialization; -namespace TNode.Models{ +namespace TNodeCore.Models{ [Serializable] public class BlackboardDragNodeData:NodeData{ public string blackDragData; diff --git a/TNode/Models/BlackboardDragNodeData.cs.meta b/TNodeCore/Models/BlackboardDragNodeData.cs.meta similarity index 100% rename from TNode/Models/BlackboardDragNodeData.cs.meta rename to TNodeCore/Models/BlackboardDragNodeData.cs.meta diff --git a/TNode/Models/GraphData.cs b/TNodeCore/Models/GraphData.cs similarity index 93% rename from TNode/Models/GraphData.cs rename to TNodeCore/Models/GraphData.cs index 31fcb39..cb400a4 100644 --- a/TNode/Models/GraphData.cs +++ b/TNodeCore/Models/GraphData.cs @@ -1,10 +1,8 @@ using System; using System.Collections.Generic; -using Newtonsoft.Json; using UnityEngine; -using UnityEngine.Serialization; -namespace TNode.Models{ +namespace TNodeCore.Models{ [Serializable] public class GraphData:ScriptableObject,ISerializationCallbackReceiver{ public Dictionary NodeDictionary = new Dictionary(); diff --git a/TNode/Models/GraphData.cs.meta b/TNodeCore/Models/GraphData.cs.meta similarity index 100% rename from TNode/Models/GraphData.cs.meta rename to TNodeCore/Models/GraphData.cs.meta diff --git a/TNode/Models/IModel.cs b/TNodeCore/Models/IModel.cs similarity index 57% rename from TNode/Models/IModel.cs rename to TNodeCore/Models/IModel.cs index 0328c7d..c2261e3 100644 --- a/TNode/Models/IModel.cs +++ b/TNodeCore/Models/IModel.cs @@ -1,4 +1,4 @@ -namespace TNode.Models{ +namespace TNodeCore.Models{ public interface IModel{ } diff --git a/TNode/Models/IModel.cs.meta b/TNodeCore/Models/IModel.cs.meta similarity index 100% rename from TNode/Models/IModel.cs.meta rename to TNodeCore/Models/IModel.cs.meta diff --git a/TNode/Models/NodeData.cs b/TNodeCore/Models/NodeData.cs similarity index 92% rename from TNode/Models/NodeData.cs rename to TNodeCore/Models/NodeData.cs index a9fc49b..79aeb10 100644 --- a/TNode/Models/NodeData.cs +++ b/TNodeCore/Models/NodeData.cs @@ -1,8 +1,7 @@ using System; -using TNode.Attribute; -using UnityEngine; +using TNodeCore.Attribute; -namespace TNode.Models{ +namespace TNodeCore.Models{ /// /// this class is used to store the data of a node /// inherit it to implement your own node diff --git a/TNode/Models/NodeData.cs.meta b/TNodeCore/Models/NodeData.cs.meta similarity index 100% rename from TNode/Models/NodeData.cs.meta rename to TNodeCore/Models/NodeData.cs.meta diff --git a/TNode/Models/NodeLink.cs b/TNodeCore/Models/NodeLink.cs similarity index 85% rename from TNode/Models/NodeLink.cs rename to TNodeCore/Models/NodeLink.cs index 932d7e7..dfccbcc 100644 --- a/TNode/Models/NodeLink.cs +++ b/TNodeCore/Models/NodeLink.cs @@ -1,8 +1,6 @@ using System; -using UnityEditor.Experimental.GraphView; - -namespace TNode.Models{ +namespace TNodeCore.Models{ //NodeAttribute links are stored in output side of the two node port. [Serializable] public class NodeLink{ diff --git a/TNode/Models/NodeLink.cs.meta b/TNodeCore/Models/NodeLink.cs.meta similarity index 100% rename from TNode/Models/NodeLink.cs.meta rename to TNodeCore/Models/NodeLink.cs.meta diff --git a/TNode/Models/PortInfo.cs b/TNodeCore/Models/PortInfo.cs similarity index 82% rename from TNode/Models/PortInfo.cs rename to TNodeCore/Models/PortInfo.cs index c4d16e2..dbd4e8c 100644 --- a/TNode/Models/PortInfo.cs +++ b/TNodeCore/Models/PortInfo.cs @@ -1,6 +1,6 @@ using System; -namespace TNode.Models{ +namespace TNodeCore.Models{ [Serializable] public class PortInfo{ public string portName; diff --git a/TNode/Models/PortInfo.cs.meta b/TNodeCore/Models/PortInfo.cs.meta similarity index 100% rename from TNode/Models/PortInfo.cs.meta rename to TNodeCore/Models/PortInfo.cs.meta diff --git a/TNode/Models/SceneObjectWrapper.cs b/TNodeCore/Models/SceneObjectWrapper.cs similarity index 98% rename from TNode/Models/SceneObjectWrapper.cs rename to TNodeCore/Models/SceneObjectWrapper.cs index 169099c..b932bbe 100644 --- a/TNode/Models/SceneObjectWrapper.cs +++ b/TNodeCore/Models/SceneObjectWrapper.cs @@ -1,13 +1,10 @@ using System; using System.Collections.Generic; -using TNode.Editor.Serialization; -using TNode.RuntimeCache; using UnityEngine; using UnityEngine.SceneManagement; -using UnityEngine.Serialization; using Object = UnityEngine.Object; -namespace TNode.Models{ +namespace TNodeCore.Models{ /// /// Scene Object wrapper use to serialize blackboard data diff --git a/TNode/Models/SceneObjectWrapper.cs.meta b/TNodeCore/Models/SceneObjectWrapper.cs.meta similarity index 100% rename from TNode/Models/SceneObjectWrapper.cs.meta rename to TNodeCore/Models/SceneObjectWrapper.cs.meta diff --git a/TNode/Runtime.meta b/TNodeCore/Runtime.meta similarity index 100% rename from TNode/Runtime.meta rename to TNodeCore/Runtime.meta diff --git a/TNodeCore/Runtime/RuntimeGraph.cs b/TNodeCore/Runtime/RuntimeGraph.cs new file mode 100644 index 0000000..1d019e4 --- /dev/null +++ b/TNodeCore/Runtime/RuntimeGraph.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using TNodeCore.Models; +using UnityEngine; + +namespace TNodeCore.Runtime{ + public class RuntimeGraph:MonoBehaviour{ + public GraphData graphData; + public SortedSet _sortedSet; + [SerializeReference] + public BlackboardData runtimeBlackboardData; + + public void OnValidate(){ + if(runtimeBlackboardData==null||runtimeBlackboardData.GetType()==typeof(BlackboardData)){ + runtimeBlackboardData = graphData?.blackboardData; + } + } + } + + public enum ProcessingStrategy{ + BreadthFirst, + DepthFirst + } +} \ No newline at end of file diff --git a/TNode/Runtime/RuntimeGraph.cs.meta b/TNodeCore/Runtime/RuntimeGraph.cs.meta similarity index 100% rename from TNode/Runtime/RuntimeGraph.cs.meta rename to TNodeCore/Runtime/RuntimeGraph.cs.meta diff --git a/TNode/Runtime/RuntimeNode.cs b/TNodeCore/Runtime/RuntimeNode.cs similarity index 58% rename from TNode/Runtime/RuntimeNode.cs rename to TNodeCore/Runtime/RuntimeNode.cs index 2376057..428b763 100644 --- a/TNode/Runtime/RuntimeNode.cs +++ b/TNodeCore/Runtime/RuntimeNode.cs @@ -1,10 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using TNode.Models; +using System.Collections.Generic; +using TNodeCore.Models; -namespace TNode.Runtime{ +namespace TNodeCore.Runtime{ public abstract class RuntimeNode{ public NodeData NodeData; public List NodeLinks; diff --git a/TNode/Runtime/RuntimeNode.cs.meta b/TNodeCore/Runtime/RuntimeNode.cs.meta similarity index 100% rename from TNode/Runtime/RuntimeNode.cs.meta rename to TNodeCore/Runtime/RuntimeNode.cs.meta diff --git a/TNode/Runtime/Runtimeblackboard.cs b/TNodeCore/Runtime/Runtimeblackboard.cs similarity index 59% rename from TNode/Runtime/Runtimeblackboard.cs rename to TNodeCore/Runtime/Runtimeblackboard.cs index 1a91406..b0e44e1 100644 --- a/TNode/Runtime/Runtimeblackboard.cs +++ b/TNodeCore/Runtime/Runtimeblackboard.cs @@ -1,7 +1,6 @@ -using System.Collections.Generic; -using TNode.Models; +using TNodeCore.Models; -namespace TNode.Runtime{ +namespace TNodeCore.Runtime{ public class RuntimeBlackboard where T:BlackboardData{ public T Data { get; set; } diff --git a/TNode/Runtime/Runtimeblackboard.cs.meta b/TNodeCore/Runtime/Runtimeblackboard.cs.meta similarity index 100% rename from TNode/Runtime/Runtimeblackboard.cs.meta rename to TNodeCore/Runtime/Runtimeblackboard.cs.meta diff --git a/TNode/Runtime/SceneSerializedData.cs b/TNodeCore/Runtime/SceneSerializedData.cs similarity index 87% rename from TNode/Runtime/SceneSerializedData.cs rename to TNodeCore/Runtime/SceneSerializedData.cs index 906c7f1..1cdd7ea 100644 --- a/TNode/Runtime/SceneSerializedData.cs +++ b/TNodeCore/Runtime/SceneSerializedData.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace TNode.Runtime{ +namespace TNodeCore.Runtime{ public class SceneSerializedData:MonoBehaviour{ public GameObject serializedObject; public Behaviour serializedFeature; diff --git a/TNode/Runtime/SceneSerializedData.cs.meta b/TNodeCore/Runtime/SceneSerializedData.cs.meta similarity index 100% rename from TNode/Runtime/SceneSerializedData.cs.meta rename to TNodeCore/Runtime/SceneSerializedData.cs.meta diff --git a/TNode/RuntimeCache.meta b/TNodeCore/RuntimeCache.meta similarity index 100% rename from TNode/RuntimeCache.meta rename to TNodeCore/RuntimeCache.meta diff --git a/TNode/RuntimeCache/RuntimeCache.cs b/TNodeCore/RuntimeCache/RuntimeCache.cs similarity index 67% rename from TNode/RuntimeCache/RuntimeCache.cs rename to TNodeCore/RuntimeCache/RuntimeCache.cs index cf0be53..6afe225 100644 --- a/TNode/RuntimeCache/RuntimeCache.cs +++ b/TNodeCore/RuntimeCache/RuntimeCache.cs @@ -1,13 +1,11 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Reflection; -using EasyRandomGenerator.Blackboard; -using JetBrains.Annotations; -using TNode.Models; -using Unity.VisualScripting; -using UnityEngine.UI; +using TNodeCore.Attribute; +using TNodeCore.Models; -namespace TNode.RuntimeCache{ +namespace TNodeCore.RuntimeCache{ public class RuntimeCache{ //Singleton instance for the runtime cache private static RuntimeCache _instance; @@ -23,10 +21,57 @@ namespace TNode.RuntimeCache{ public readonly Dictionary> CachedDelegatesForSettingValue = new (); + private readonly Dictionary _graphBlackboardDictionary = new Dictionary(); + private static readonly string[] ExcludedAssemblies = new string[]{"Microsoft", "UnityEngine","UnityEditor","mscorlib","System"}; public RuntimeCache(){ - RegisterRuntimeBlackboard(typeof(EasyBlackboardData)); + //Get types in all assemblies except the excluded ones + var types = AppDomain.CurrentDomain.GetAssemblies().Where( + assembly => !ExcludedAssemblies.Contains(assembly.GetName().Name) + ).SelectMany(assembly => assembly.GetTypes()); + //iterate types to check if they have GraphUsageAttribute + foreach (var type in types){ + var attributes = type.GetCustomAttributes(); + foreach (var attribute in attributes){ + if (attribute is GraphUsageAttribute){ + //if the type has GraphUsageAttribute, add it to the cache + AddTypeToCache(type,attribute as GraphUsageAttribute); + + } + } + } + } + + private void AddTypeToCache(Type type,GraphUsageAttribute attribute){ + //Check if the type is a blackboard data type + if(typeof(BlackboardData).IsAssignableFrom(type)){ + //if it is, add it to the cache + AddBlackboardDataTypeToCache(type,attribute); + RegisterRuntimeBlackboard(type); + } + + } + + private void AddBlackboardDataTypeToCache(Type type,GraphUsageAttribute attribute){ + var graphData = attribute.GraphDataType; + _graphBlackboardDictionary.Add(graphData,type); + + } + + public Type GetAppropriateBlackboardDataType(GraphData graphData){ + var type = graphData.GetType(); + if(_graphBlackboardDictionary.ContainsKey(type)){ + return _graphBlackboardDictionary[type]; + } + return null; + } + public BlackboardData GetBlackboardData(GraphData graphData){ + var type = GetAppropriateBlackboardDataType(graphData); + if(type != null){ + return (BlackboardData) Activator.CreateInstance(type); + } + return null; } public void RegisterRuntimeBlackboard(Type type){ if (type == null) return; diff --git a/TNode/RuntimeCache/RuntimeCache.cs.meta b/TNodeCore/RuntimeCache/RuntimeCache.cs.meta similarity index 100% rename from TNode/RuntimeCache/RuntimeCache.cs.meta rename to TNodeCore/RuntimeCache/RuntimeCache.cs.meta diff --git a/TNodeCore/TNodeCore.asmdef b/TNodeCore/TNodeCore.asmdef new file mode 100644 index 0000000..959c6ee --- /dev/null +++ b/TNodeCore/TNodeCore.asmdef @@ -0,0 +1,3 @@ +{ + "name": "NewAssembly" +} diff --git a/TNodeCore/TNodeCore.asmdef.meta b/TNodeCore/TNodeCore.asmdef.meta new file mode 100644 index 0000000..182d303 --- /dev/null +++ b/TNodeCore/TNodeCore.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d9d6b4f0cdce23345bf2e956f8041ca2 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs b/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs index f8fe8b6..68460b3 100644 --- a/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs +++ b/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using TNode.Attribute; using TNode.Editor; -using TNode.Editor.Blackboard; using TNode.Editor.NodeViews; -using TNode.Models; +using TNodeCore.Attribute; +using TNodeCore.Editor.Blackboard; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.GraphBlackboard; using TNodeGraphViewImpl.Editor.NodeGraphView; using TNodeGraphViewImpl.Editor.NodeViews; @@ -17,10 +17,6 @@ namespace TNodeGraphViewImpl.Editor.Cache{ /// Internal singleton class for caching TNode reflection Data. /// internal class NodeEditorTypeDictionary:Dictionary{ - //Custom camparator for sorting the dictionary by key. - - - private class NodeEditorTypeDictionaryComparer : IEqualityComparer { public bool Equals(Type x, Type y){ diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs index ac22902..0a74e1a 100644 --- a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs +++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs @@ -1,10 +1,9 @@ using System.Collections; using System.Reflection; -using TNode.Attribute; -using TNode.Editor.NodeGraphView; using TNode.Editor.Search; -using TNode.Editor.Serialization; -using TNode.Models; +using TNodeCore.Attribute; +using TNodeCore.Editor.Serialization; +using TNodeCore.Models; using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEditor.UIElements; diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs index fda833c..e96416f 100644 --- a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs +++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs @@ -13,6 +13,7 @@ namespace TNodeGraphViewImpl.Editor.GraphBlackboard{ base.ExecuteDefaultActionAtTarget(evt); if (this.Q() != null){ this.Q().allowSceneObjects = false; + } } diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs index 8c2644d..7d95719 100644 --- a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs +++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs @@ -1,7 +1,7 @@ -using TNode.Editor.Blackboard; -using TNode.Editor.NodeGraphView; -using TNode.Editor.Search; -using TNode.Models; +using TNode.Editor.Search; +using TNodeCore.Editor.Blackboard; +using TNodeCore.Editor.NodeGraphView; +using TNodeCore.Models; using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEngine; diff --git a/TNodeGraphViewImpl/Editor/GraphEditor.cs b/TNodeGraphViewImpl/Editor/GraphEditor.cs index ade213b..2a01b69 100644 --- a/TNodeGraphViewImpl/Editor/GraphEditor.cs +++ b/TNodeGraphViewImpl/Editor/GraphEditor.cs @@ -1,7 +1,7 @@ using Codice.CM.Common; -using TNode.Editor.EditorPersistence; using TNode.Editor.Inspector; -using TNode.Models; +using TNodeCore.Editor.EditorPersistence; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.Cache; using TNodeGraphViewImpl.Editor.NodeGraphView; using UnityEditor; diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs b/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs index 96c833e..8d86869 100644 --- a/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs +++ b/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; using System.Reflection; -using TNode.Attribute; using TNode.Editor.NodeViews; -using TNode.Models; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.NodeGraphView; using TNodeGraphViewImpl.Editor.NodeViews; using Unity.VisualScripting; diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs b/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs index e016bfe..4660f6a 100644 --- a/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs +++ b/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs @@ -1,7 +1,7 @@ using System.Reflection; -using TNode.Attribute; -using TNode.Editor.Serialization; -using TNode.Models; +using TNodeCore.Attribute; +using TNodeCore.Editor.Serialization; +using TNodeCore.Models; using UnityEditor; using UnityEditor.UIElements; using UnityEngine; diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs index ae5d75a..dbd8619 100644 --- a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs +++ b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs @@ -4,14 +4,14 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using TNode.Editor; -using TNode.Editor.Blackboard; -using TNode.Editor.EditorPersistence; using TNode.Editor.Inspector; -using TNode.Editor.NodeGraphView; using TNode.Editor.NodeViews; using TNode.Editor.Search; -using TNode.Editor.Tools.NodeCreator; -using TNode.Models; +using TNodeCore.Editor.Blackboard; +using TNodeCore.Editor.EditorPersistence; +using TNodeCore.Editor.NodeGraphView; +using TNodeCore.Editor.Tools.NodeCreator; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.Cache; using TNodeGraphViewImpl.Editor.GraphBlackboard; using TNodeGraphViewImpl.Editor.GraphBlackboard.BlackboardProperty; diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs b/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs index da69ff1..4e39aa4 100644 --- a/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs +++ b/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs @@ -1,6 +1,6 @@ using System.Linq; using TNode.Editor; -using TNode.Editor.EditorPersistence; +using TNodeCore.Editor.EditorPersistence; using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEngine.UIElements; diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs b/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs index 285ce31..4f837c0 100644 --- a/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs +++ b/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs @@ -1,5 +1,5 @@ using TNode.Editor.NodeViews; -using TNode.Models; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.NodeViews; namespace TNode.Editor{ diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs b/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs index ad80fae..8bce179 100644 --- a/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs +++ b/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs @@ -1,5 +1,5 @@ -using TNode.Attribute; -using TNode.Models; +using TNodeCore.Attribute; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.NodeViews; namespace TNode.Editor.NodeViews{ diff --git a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs b/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs index cdbf1ba..fe6a69e 100644 --- a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs +++ b/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs @@ -1,10 +1,11 @@ using System; using System.Linq; using System.Reflection; -using TNode.Attribute.Ports; using TNode.Editor.Inspector; -using TNode.Editor.Serialization; -using TNode.Models; +using TNodeCore; +using TNodeCore.Attribute.Ports; +using TNodeCore.Editor.Serialization; +using TNodeCore.Models; using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.UIElements; diff --git a/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs b/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs index ac91d2e..35341c4 100644 --- a/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs +++ b/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs @@ -1,7 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; -using TNode.Editor.NodeGraphView; +using TNodeCore.Editor.NodeGraphView; using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEngine; diff --git a/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs b/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs index 5ef4ced..d7deafd 100644 --- a/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs +++ b/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; -using TNode.Editor.NodeGraphView; -using TNode.Editor.Tools.NodeCreator; -using TNode.Models; +using TNodeCore.Editor.NodeGraphView; +using TNodeCore.Editor.Tools.NodeCreator; +using TNodeCore.Models; using TNodeGraphViewImpl.Editor.Cache; using UnityEditor; using UnityEditor.Experimental.GraphView;