From e5fd18ef2d4c58284ce3eca3da9b806b1ee15c0b Mon Sep 17 00:00:00 2001
From: taoria <445625470@qq.com>
Date: Fri, 22 Jul 2022 22:16:08 +0800
Subject: [PATCH 1/5] fix:fix a performance issue
---
TNodeCore/Attribute/GraphUsageAttribute.cs | 3 +-
TNodeCore/DataWrapper.cs | 4 ++-
.../NodeGraphView/IBaseDataGraphView.cs | 8 +++--
TNodeCore/Runtime/RuntimeGraph.cs | 18 ++++++++++
.../DefaultGraphBlackboardView.cs | 6 ++--
.../GraphBlackboardPropertyField.cs | 2 +-
.../Editor/Inspector/NodeInspectorInNode.cs | 7 +++-
.../Editor/NodeGraphView/DataGraphView.cs | 35 +++++++++++++++++--
.../Editor/NodeViews/DragNodeView.cs | 15 ++------
.../Editor/NodeViews/NodeView.cs | 6 +++-
.../Editor/Search/NodeSearchWindowProvider.cs | 2 +-
11 files changed, 81 insertions(+), 25 deletions(-)
diff --git a/TNodeCore/Attribute/GraphUsageAttribute.cs b/TNodeCore/Attribute/GraphUsageAttribute.cs
index 4eb9151..62ed03f 100644
--- a/TNodeCore/Attribute/GraphUsageAttribute.cs
+++ b/TNodeCore/Attribute/GraphUsageAttribute.cs
@@ -1,6 +1,7 @@
using System;
using JetBrains.Annotations;
using TNodeCore.Models;
+using TNodeCore.Runtime.Interfaces;
namespace TNodeCore.Attribute{
///
@@ -11,8 +12,8 @@ namespace TNodeCore.Attribute{
///
///
[AttributeUsage(AttributeTargets.Class)]
- [BaseTypeRequired(typeof(IModel))]
[UsedImplicitly]
+ [MeansImplicitUse]
public class GraphUsageAttribute:System.Attribute{
public readonly Type GraphDataType;
public string Category;
diff --git a/TNodeCore/DataWrapper.cs b/TNodeCore/DataWrapper.cs
index 92ba218..c24931a 100644
--- a/TNodeCore/DataWrapper.cs
+++ b/TNodeCore/DataWrapper.cs
@@ -30,7 +30,9 @@ namespace TNodeCore{
fieldInfo.SetValue(data,value);
OnValueChanged?.Invoke(this);
}
-
+ public void ForceNotify(){
+ OnValueChanged?.Invoke(this);
+ }
public object GetValue(string path){
var fieldInfo = data.GetType().GetField(path);
return fieldInfo.GetValue(data);
diff --git a/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
index 7e04299..7db65a6 100644
--- a/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
+++ b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
@@ -1,4 +1,5 @@
-using TNodeCore.Models;
+using System;
+using TNodeCore.Models;
using TNodeCore.Runtime;
using UnityEngine;
@@ -23,6 +24,9 @@ namespace TNodeCore.Editor.NodeGraphView{
public RuntimeGraph GetRuntimeGraph();
public void SetGraphData(GraphData graph);
-
+
+ void NotifyRuntimeUpdate();
+
+ public Action AfterRuntimeGraphUpdate{ get; set; }
}
}
\ No newline at end of file
diff --git a/TNodeCore/Runtime/RuntimeGraph.cs b/TNodeCore/Runtime/RuntimeGraph.cs
index 11dd5c8..c8df9c3 100644
--- a/TNodeCore/Runtime/RuntimeGraph.cs
+++ b/TNodeCore/Runtime/RuntimeGraph.cs
@@ -20,6 +20,16 @@ namespace TNodeCore.Runtime{
/// elements are read only ,do not modify them
///
public readonly Dictionary RuntimeNodes;
+ public void DirectlyTraversal(){
+ foreach (var node in TopologicalOrder){
+ var links = node.OutputLink;
+ foreach (var link in links){
+ var targetNode = RuntimeNodes[link.inPort.nodeDataId];
+ HandlingLink(link);
+ targetNode.NodeData.Process();
+ }
+ }
+ }
public void DependencyTraversal(RuntimeNode runtimeNode){
var links = runtimeNode.InputLink;
foreach (var link in links){
@@ -118,6 +128,14 @@ namespace TNodeCore.Runtime{
_graphTool.DependencyTraversal(Get(startNode));
return true;
}
+ public bool ResolveDependency(){
+ if(!_build)
+ Build();
+ if (_graphTool == null)
+ return false;
+ _graphTool.DirectlyTraversal();
+ return true;
+ }
private void ModifyOrCreateInNode(NodeLink linkData){
var inNodeId = linkData.inPort.nodeDataId;
var inNode = graphData.NodeDictionary[inNodeId];
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
index 499bc5c..2f1a20b 100644
--- a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
+++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
@@ -30,11 +30,11 @@ namespace TNodeGraphViewImpl.Editor.GraphBlackboard{
//skip if the field is a list or Ilist
if (!typeof(IList).IsAssignableFrom(field.FieldType)){
VisualElement visualElement = new VisualElement();
- var propertyField = new BlackboardField(new BlackboardProperty.BlackboardProperty(field.Name,field.FieldType));
+ var propertyField = new BlackboardField(new BlackboardProperty.BlackboardProperty(ObjectNames.NicifyVariableName(field.Name),field.FieldType));
var foldoutData = new Foldout{
- text = field.Name
+ text = ObjectNames.NicifyVariableName(field.Name)
};
- var drawer = new GraphBlackboardPropertyField(serializedObject.FindProperty("data").FindPropertyRelative(field.Name),field.Name,isRuntimeGraph);
+ var drawer = new GraphBlackboardPropertyField(serializedObject.FindProperty("data").FindPropertyRelative(field.Name),isRuntimeGraph);
drawer.Bind(serializedObject);
foldoutData.Add(drawer);
visualElement.Add(propertyField);
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs
index 33c40e6..75e4b2c 100644
--- a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs
+++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs
@@ -6,7 +6,7 @@ namespace TNodeGraphViewImpl.Editor.GraphBlackboard{
public class GraphBlackboardPropertyField:PropertyField{
private readonly bool _runtime;
- public GraphBlackboardPropertyField(SerializedProperty findPropertyRelative, string fieldName,bool runtime):base(findPropertyRelative, fieldName){
+ public GraphBlackboardPropertyField(SerializedProperty findPropertyRelative,bool runtime):base(findPropertyRelative){
_runtime = runtime;
}
diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs b/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs
index 1c03a31..8581d05 100644
--- a/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs
+++ b/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs
@@ -51,7 +51,12 @@ namespace TNode.Editor.Inspector{
var showInNodeViewAttribute = field.GetCustomAttribute() != null;
if (!showInNodeViewAttribute)
continue;
- var drawer = new PropertyField(serializedObject.FindProperty("data").FindPropertyRelative(field.Name),field.Name);
+ var drawer = new PropertyField(serializedObject.FindProperty("data").FindPropertyRelative(field.Name));
+ drawer.RegisterValueChangeCallback((evt) => {
+ serializedObject.Update();
+ serializedObject.ApplyModifiedProperties();
+ ((NodeDataWrapper)_data).ForceNotify();
+ });
drawer.Bind(serializedObject);
Add(drawer);
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
index 49b4e97..0fd9fb7 100644
--- a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
+++ b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using System.Threading.Tasks;
using TNode.Editor.Inspector;
using TNodeCore.Editor.Blackboard;
using TNodeCore.Editor.EditorPersistence;
@@ -14,6 +15,7 @@ using TNodeEditor.Editor;
using TNodeGraphViewImpl.Editor.Cache;
using TNodeGraphViewImpl.Editor.NodeViews;
using TNodeGraphViewImpl.Editor.Search;
+using Unity.VisualScripting;
using UnityEditor;
using UnityEditor.Experimental.GraphView;
using UnityEngine;
@@ -32,6 +34,8 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
private NodeInspector _nodeInspector;
private Dictionary _nodeDict = new();
private IBlackboardView _blackboard;
+ private bool _runtimeGraphUpdate;
+
public T Data{
get{ return _data; }
set{
@@ -106,8 +110,7 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
_runtimeGraph = gameObject.GetComponent();
IsRuntimeGraph = true;
-
-
+ BuildRuntimeGraphBehaviour();
Data = gameObject.GetComponent().graphData as T;
if(Data==null){
Debug.LogError($"Dragged a wrong graph data to editor,expected {typeof(T)} but got {gameObject.GetComponent().graphData.GetType()}");
@@ -143,6 +146,27 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
}
};
}
+
+ private void BuildRuntimeGraphBehaviour(){
+ EditorApplication.update+= UpdateRuntimeGraphBehaviour;
+
+ }
+
+ private void UpdateRuntimeGraphBehaviour(){
+ if(_runtimeGraph != null){
+ if (_runtimeGraphUpdate){
+ _runtimeGraph.ResolveDependency();
+ _runtimeGraphUpdate = false;
+ AfterRuntimeGraphUpdate?.Invoke();
+ }
+
+
+ }
+ else{
+ EditorApplication.update -= UpdateRuntimeGraphBehaviour;
+ }
+ }
+
private void CheckDataAfterInit(){
if(Data == null){
WaitingForAGraph();
@@ -521,6 +545,13 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
Data = graph as T;
}
+ public void NotifyRuntimeUpdate(){
+
+ _runtimeGraphUpdate = true;
+ }
+
+ public Action AfterRuntimeGraphUpdate{ get; set; }
+
#endregion
}
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs b/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs
index a48bb79..4ab71dc 100644
--- a/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs
+++ b/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs
@@ -26,19 +26,10 @@ namespace TNode.Editor.NodeViews{
var serializedData = new SerializedObject(blackboardWrapper);
var serializedProperty = serializedData.FindProperty("data").FindPropertyRelative(obj.blackDragData);
- //
- // field.Bind(serializedData);
- // var p = label.parent.parent.parent;
- // p.Add(field);
- // field.SendToBack();
- // field.SetEnabled(false);
- // p.style.alignItems = Align.Center;
- // p.style.justifyContent = Justify.Center;
- // p.style.paddingTop = 0;
- // p.style.paddingBottom = 0;
- label.text = obj.blackDragData;
+ label.text = ObjectNames.NicifyVariableName(obj.blackDragData);
+
//Get serialized property's icon
- var icon = AssetPreview.GetMiniThumbnail(serializedProperty.objectReferenceValue);
+ var icon = AssetPreview.GetMiniThumbnail(serializedProperty.boxedValue as UnityEngine.Object);
label.parent.Add(new Image(){
image = icon
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs b/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
index c3bef2f..298df16 100644
--- a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
+++ b/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
@@ -7,6 +7,7 @@ using TNodeCore.Attribute.Ports;
using TNodeCore.Editor.NodeGraphView;
using TNodeCore.Editor.Serialization;
using TNodeCore.Models;
+using UnityEditor;
using UnityEditor.Experimental.GraphView;
using UnityEngine;
using UnityEngine.UIElements;
@@ -38,6 +39,9 @@ namespace TNodeGraphViewImpl.Editor.NodeViews{
private void OnDataValueChanged(DataWrapper obj){
Refresh();
+ if (BaseDataGraphView.IsRuntimeGraph){
+ BaseDataGraphView.NotifyRuntimeUpdate();
+ }
}
public sealed override string title{
get => base.title;
@@ -103,7 +107,7 @@ namespace TNodeGraphViewImpl.Editor.NodeViews{
if (propertyInfo.GetCustomAttributes(typeof(OutputAttribute),true).FirstOrDefault() is OutputAttribute attribute){
Port port = InstantiatePort(Orientation.Horizontal, Direction.Output,Port.Capacity.Multi,BuildPortType(attribute,propertyInfo));
this.outputContainer.Add(port);
- var portName = BuildPortName(attribute,propertyInfo);
+ var portName = ObjectNames.NicifyVariableName(BuildPortName(attribute,propertyInfo));
port.portName = portName;
port.name = propertyInfo.Name;
diff --git a/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs b/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs
index d2f2af7..28cf940 100644
--- a/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs
+++ b/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs
@@ -54,7 +54,7 @@ namespace TNodeGraphViewImpl.Editor.Search{
if (typeof(NodeData).IsAssignableFrom(type)){
//Make an instance of the type
if (NodeCreator.InstantiateNodeData(type) is { } nodeData){
- nodeData.nodeName = $"New {type.Name}";
+ nodeData.nodeName = $"{type.Name}";
((IBaseDataGraphView) _graphView).AddTNode(nodeData, new Rect(localPos.x, localPos.y, 100, 100));
}
}
From e72d7fa6914d2cbe161cbf60c93fb4105b27921b Mon Sep 17 00:00:00 2001
From: taoria <445625470@qq.com>
Date: Sat, 23 Jul 2022 19:57:24 +0800
Subject: [PATCH 2/5] fix:fix a bug of runtime graph
---
TNodeCore/DataWrapper.cs | 2 +-
TNodeCore/Models/BlackboardDragNodeData.cs | 6 ++--
.../Runtime/Interfaces/IPortTypeConversion.cs | 4 +--
TNodeCore/Runtime/RuntimeGraph.cs | 10 ++++--
TNodeCore/Runtime/RuntimeNode.cs | 18 +++++++++-
.../RuntimeCache/IModelPropertyAccessor.cs | 4 +++
TNodeCore/RuntimeCache/RuntimeCache.cs | 35 +++++++++++++------
.../Editor/GraphBlackboard/BlackboardField.cs | 5 ++-
.../DefaultGraphBlackboardView.cs | 2 +-
.../Editor/NodeGraphView/DataGraphView.cs | 6 ++--
.../Editor/NodeViews/NodeView.cs | 2 +-
11 files changed, 65 insertions(+), 29 deletions(-)
diff --git a/TNodeCore/DataWrapper.cs b/TNodeCore/DataWrapper.cs
index c24931a..30d1410 100644
--- a/TNodeCore/DataWrapper.cs
+++ b/TNodeCore/DataWrapper.cs
@@ -14,7 +14,7 @@ namespace TNodeCore{
return CreateInstance();
}
if(Cache.ContainsKey(data)){
- return Cache[data];
+ return Cache[data]==null?CreateInstance():Cache[data];
}
var wrapper = CreateInstance();
wrapper.data = data;
diff --git a/TNodeCore/Models/BlackboardDragNodeData.cs b/TNodeCore/Models/BlackboardDragNodeData.cs
index 883464a..335164c 100644
--- a/TNodeCore/Models/BlackboardDragNodeData.cs
+++ b/TNodeCore/Models/BlackboardDragNodeData.cs
@@ -7,9 +7,8 @@ using UnityEngine;
namespace TNodeCore.Models{
[Serializable]
[InternalUsage]
- public class BlackboardDragNodeData:RuntimeNodeData{
+ public class BlackboardDragNodeData:SceneNodeData{
public string blackDragData;
-
///
/// it's very hacky way to get blackboard data ,even when the value is null,type info is not null!
///
@@ -23,7 +22,8 @@ namespace TNodeCore.Models{
}
[Serializable]
- public class RuntimeNodeData:NodeData{
+ public class SceneNodeData:NodeData{
+
public BlackboardData BlackboardData{ get; set; }
diff --git a/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs b/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs
index 29b4277..4633e26 100644
--- a/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs
+++ b/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs
@@ -1,7 +1,7 @@
namespace TNodeCore.Runtime.Interfaces{
- public interface IPortTypeConversion{
- public TTo Convert(TFrom tFrom);
+ public abstract class PortTypeConversion{
+ public abstract TTo Convert(TFrom tFrom);
}
}
\ No newline at end of file
diff --git a/TNodeCore/Runtime/RuntimeGraph.cs b/TNodeCore/Runtime/RuntimeGraph.cs
index c8df9c3..ddc6415 100644
--- a/TNodeCore/Runtime/RuntimeGraph.cs
+++ b/TNodeCore/Runtime/RuntimeGraph.cs
@@ -22,12 +22,11 @@ namespace TNodeCore.Runtime{
public readonly Dictionary RuntimeNodes;
public void DirectlyTraversal(){
foreach (var node in TopologicalOrder){
- var links = node.OutputLink;
+ var links = node.InputLink;
foreach (var link in links){
- var targetNode = RuntimeNodes[link.inPort.nodeDataId];
HandlingLink(link);
- targetNode.NodeData.Process();
}
+ node.NodeData.Process();
}
}
public void DependencyTraversal(RuntimeNode runtimeNode){
@@ -47,6 +46,7 @@ namespace TNodeCore.Runtime{
//out node is node output data
//in node is node receive data
var outValue = outNode.GetOutput(nodeLink.outPort.portEntryName);
+
inNode.SetInput(nodeLink.inPort.portEntryName, outValue);
}
public GraphTool(List list, Dictionary graphNodes){
@@ -101,6 +101,10 @@ namespace TNodeCore.Runtime{
Debug.Log("hi");
var nodeList = RuntimeNodes.Values;
_graphTool = new GraphTool(nodeList.ToList(),RuntimeNodes);
+ var sceneNodes = RuntimeNodes.Values.Where(x => x.NodeData is SceneNodeData).Select(x => x.NodeData as SceneNodeData);
+ foreach (var sceneNode in sceneNodes){
+ if (sceneNode != null) sceneNode.BlackboardData = runtimeBlackboardData;
+ }
_build = true;
}
diff --git a/TNodeCore/Runtime/RuntimeNode.cs b/TNodeCore/Runtime/RuntimeNode.cs
index e4b435a..d73fef0 100644
--- a/TNodeCore/Runtime/RuntimeNode.cs
+++ b/TNodeCore/Runtime/RuntimeNode.cs
@@ -5,6 +5,7 @@ using Codice.Client.Common.TreeGrouper;
using TNodeCore.Attribute.Ports;
using TNodeCore.Models;
using TNodeCore.RuntimeCache;
+using UnityEngine;
namespace TNodeCore.Runtime{
public class RuntimeNode{
@@ -18,7 +19,22 @@ namespace TNodeCore.Runtime{
public Type NodeType => _type;
public void SetInput(string portName,object value){
- _portAccessors[portName].SetValue(this.NodeData,value);
+ var valueType = value.GetType();
+ var portType = _portAccessors[portName].Type;
+ Debug.Log(valueType);
+ Debug.Log(portType);
+ if(portType!=valueType && !portType.IsAssignableFrom(valueType)){
+ var res =RuntimeCache.RuntimeCache.Instance.GetConvertedValue(valueType, portType, value);
+ _portAccessors[portName].SetValue(this.NodeData, res);
+ }
+ else{
+
+ _portAccessors[portName].SetValue(this.NodeData,value);
+ }
+
+
+
+
}
public object GetOutput(string portName){
diff --git a/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs b/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs
index 88a5cae..081caac 100644
--- a/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs
+++ b/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs
@@ -4,5 +4,9 @@ namespace TNodeCore.RuntimeCache{
public interface IModelPropertyAccessor{
object GetValue(object model);
void SetValue(object model, object value);
+
+ public Type Type{ get; set; }
+
+
}
}
\ No newline at end of file
diff --git a/TNodeCore/RuntimeCache/RuntimeCache.cs b/TNodeCore/RuntimeCache/RuntimeCache.cs
index edae640..d068018 100644
--- a/TNodeCore/RuntimeCache/RuntimeCache.cs
+++ b/TNodeCore/RuntimeCache/RuntimeCache.cs
@@ -14,8 +14,10 @@ namespace TNodeCore.RuntimeCache{
public readonly Action Set;
public PropAccessor(string propName){
Type t = typeof(T1);
+
MethodInfo getter = t.GetMethod("get_" + propName);
MethodInfo setter = t.GetMethod("set_" + propName);
+ Type = getter?.ReturnType??setter?.GetParameters()[0].ParameterType;
if(getter!=null)
Get = (Func)Delegate.CreateDelegate(typeof(Func), null, getter);
if(setter!=null)
@@ -32,12 +34,14 @@ namespace TNodeCore.RuntimeCache{
public void SetValue(object model, object value){
Set((T1)model,(T2)value);
}
+
+ public Type Type{ get; set; }
}
internal class PortConverterHelper : IPortConverterHelper{
- private readonly IPortTypeConversion _converter;
+ private readonly PortTypeConversion _converter;
public PortConverterHelper(Type type){
- _converter = Activator.CreateInstance(type) as IPortTypeConversion;
+ _converter = Activator.CreateInstance(type) as PortTypeConversion;
}
public object Convert(object value){
return _converter.Convert((T1)value);
@@ -116,23 +120,31 @@ namespace TNodeCore.RuntimeCache{
CacheRuntimeNodeData(type);
}
//Check if the type is implementing IPortTypeConversion
- if(typeof(IPortTypeConversion<,>).IsAssignableFrom(type)){
+ if(type.BaseType is{IsGenericType: true} && type.BaseType.GetGenericTypeDefinition()==typeof(PortTypeConversion<,>)){
//if it is, add it to the cache
+ Debug.Log("find conversion");
CacheRuntimePortTypeConversion(type);
}
+ else{
+ Debug.Log(type);
+ }
}
private void CacheRuntimePortTypeConversion(Type type){
- if (type.IsGenericType == false){
- return;
+ if (type.BaseType != null){
+ var genericType = type.BaseType.GetGenericTypeDefinition();
+ if (genericType != typeof(PortTypeConversion<,>)){
+ return;
+ }
}
- var genericType = type.GetGenericTypeDefinition();
- if (genericType != typeof(IPortTypeConversion<,>)){
+ else{
return;
}
- var type1 = type.GetGenericArguments()[0];
- var type2 = type.GetGenericArguments()[1];
+ var type1 = type.BaseType.GetGenericArguments()[0];
+ var type2 = type.BaseType.GetGenericArguments()[1];
+ Debug.Log(type1);
+ Debug.Log(type2);
var specificType = typeof(PortConverterHelper<,>).MakeGenericType(type1, type2);
var instance = Activator.CreateInstance(specificType, type) as IPortConverterHelper;
if (instance == null){
@@ -256,8 +268,9 @@ namespace TNodeCore.RuntimeCache{
return (T) method.Invoke(data);
}
public static object GetValue(this IModel data, string path,Type type=null){
- var method = RuntimeCache.Instance.CachedDelegatesForGettingValue[type??data.GetType()][path];
- return method.Invoke(data);
+ var dic = RuntimeCache.Instance.CachedDelegatesForGettingValue[type ?? data.GetType()];
+ var method = dic.ContainsKey(path) ? dic[path] : null;
+ return method?.Invoke(data);
}
public static void SetValue(this IModel data,string path,T value,Type type=null){
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs
index e37882f..51ed7d9 100644
--- a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs
+++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs
@@ -1,4 +1,5 @@
-using UnityEditor.Experimental.GraphView;
+using UnityEditor;
+using UnityEditor.Experimental.GraphView;
namespace TNodeGraphViewImpl.Editor.GraphBlackboard{
public class BlackboardField:UnityEditor.Experimental.GraphView.BlackboardField{
@@ -6,7 +7,5 @@ namespace TNodeGraphViewImpl.Editor.GraphBlackboard{
public BlackboardField(BlackboardProperty.BlackboardProperty blackboardProperty):base(null,blackboardProperty.PropertyName,null){
BlackboardProperty = blackboardProperty;
}
-
-
}
}
\ No newline at end of file
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs b/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
index 2f1a20b..5d83a5c 100644
--- a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
+++ b/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
@@ -30,7 +30,7 @@ namespace TNodeGraphViewImpl.Editor.GraphBlackboard{
//skip if the field is a list or Ilist
if (!typeof(IList).IsAssignableFrom(field.FieldType)){
VisualElement visualElement = new VisualElement();
- var propertyField = new BlackboardField(new BlackboardProperty.BlackboardProperty(ObjectNames.NicifyVariableName(field.Name),field.FieldType));
+ var propertyField = new BlackboardField(new BlackboardProperty.BlackboardProperty(field.Name,field.FieldType));
var foldoutData = new Foldout{
text = ObjectNames.NicifyVariableName(field.Name)
};
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
index 0fd9fb7..9836559 100644
--- a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
+++ b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
@@ -155,8 +155,9 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
private void UpdateRuntimeGraphBehaviour(){
if(_runtimeGraph != null){
if (_runtimeGraphUpdate){
- _runtimeGraph.ResolveDependency();
_runtimeGraphUpdate = false;
+ _runtimeGraph.ResolveDependency();
+
AfterRuntimeGraphUpdate?.Invoke();
}
@@ -283,7 +284,7 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
//Get the node type
var nodeType = dataNode.GetType();
//Get the derived type of NodeAttribute View from the node type
- if (dataNode is RuntimeNodeData runtimeNodeData){
+ if (dataNode is SceneNodeData runtimeNodeData){
runtimeNodeData.BlackboardData = GetBlackboardData();
}
var nodePos = Owner.graphEditorData.graphElementsData.
@@ -445,7 +446,6 @@ namespace TNodeGraphViewImpl.Editor.NodeGraphView{
if (supportedTypes != null){
compatiblePorts.AddRange(ports.Where(x => supportedTypes.Contains(x.portType)).ToList());
}
-
return compatiblePorts;
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs b/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
index 298df16..8fac55f 100644
--- a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
+++ b/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
@@ -20,7 +20,7 @@ namespace TNodeGraphViewImpl.Editor.NodeViews{
public IBaseDataGraphView BaseDataGraphView{
get{
- var visualElement = this.GetFirstAncestorOfType() as IBaseDataGraphView;
+ var visualElement = this.GetFirstAncestorOfType();
return visualElement;
}
}
From c7e68748f69bbc4d058f869f48b8b85a7f7e9a81 Mon Sep 17 00:00:00 2001
From: taoria <445625470@qq.com>
Date: Sat, 23 Jul 2022 20:02:40 +0800
Subject: [PATCH 3/5] refactor:rm meta file
---
EasyRandomGenerator.meta | 8 --------
1 file changed, 8 deletions(-)
delete mode 100644 EasyRandomGenerator.meta
diff --git a/EasyRandomGenerator.meta b/EasyRandomGenerator.meta
deleted file mode 100644
index fb32c7a..0000000
--- a/EasyRandomGenerator.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: cf0168c8ec1f9304c9872577b1e6abdf
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
From 675589de2b93971b1cf0f0825518c10edaca4723 Mon Sep 17 00:00:00 2001
From: taoria <445625470@qq.com>
Date: Mon, 25 Jul 2022 09:20:17 +0800
Subject: [PATCH 4/5] fix: little work around on saving data
---
Scenes/SampleScene.unity | 84 -------------------
TNodeCore/Components.meta | 3 +
TNodeCore/Components/RuntimeDataSaver.cs | 46 ++++++++++
TNodeCore/Components/RuntimeDataSaver.cs.meta | 3 +
.../{Runtime => Components}/RuntimeGraph.cs | 12 ++-
.../RuntimeGraph.cs.meta | 0
.../NodeGraphView/IBaseDataGraphView.cs | 1 +
.../Editor/NodeGraphView/DataGraphView.cs | 1 +
8 files changed, 64 insertions(+), 86 deletions(-)
create mode 100644 TNodeCore/Components.meta
create mode 100644 TNodeCore/Components/RuntimeDataSaver.cs
create mode 100644 TNodeCore/Components/RuntimeDataSaver.cs.meta
rename TNodeCore/{Runtime => Components}/RuntimeGraph.cs (96%)
rename TNodeCore/{Runtime => Components}/RuntimeGraph.cs.meta (100%)
diff --git a/Scenes/SampleScene.unity b/Scenes/SampleScene.unity
index 7c49f30..1b726a3 100644
--- a/Scenes/SampleScene.unity
+++ b/Scenes/SampleScene.unity
@@ -625,90 +625,6 @@ Transform:
m_Father: {fileID: 507038910}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1648230696
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1648230698}
- - component: {fileID: 1648230697}
- m_Layer: 0
- m_Name: Square
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!212 &1648230697
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1648230696}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 1, y: 1}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
---- !u!4 &1648230698
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1648230696}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 3
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1701140682
GameObject:
m_ObjectHideFlags: 0
diff --git a/TNodeCore/Components.meta b/TNodeCore/Components.meta
new file mode 100644
index 0000000..9f7628b
--- /dev/null
+++ b/TNodeCore/Components.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 732046b8ee564bd5be9be4ce908a011b
+timeCreated: 1658710679
\ No newline at end of file
diff --git a/TNodeCore/Components/RuntimeDataSaver.cs b/TNodeCore/Components/RuntimeDataSaver.cs
new file mode 100644
index 0000000..399907b
--- /dev/null
+++ b/TNodeCore/Components/RuntimeDataSaver.cs
@@ -0,0 +1,46 @@
+using System.Collections.Generic;
+using System.IO;
+using UnityEngine;
+
+namespace TNodeCore.Components{
+ public class RuntimeDataSaver:MonoBehaviour{
+ public string saveName;
+ public string saveExtension = "tng";
+ public Dictionary savedData = new();
+ public void Load(){
+ string path = Application.persistentDataPath + "/"+ saveName + "." + saveExtension;
+ if(!File.Exists(path)){
+ Debug.LogWarning("File not found: " + path);
+ return;
+ }
+ string json = File.ReadAllText(path);
+ savedData = JsonUtility.FromJson>(json);
+ }
+ public void Save(){
+ string path = Application.persistentDataPath + "/" + saveName + "." + saveExtension;
+ string json = JsonUtility.ToJson(savedData);
+ File.WriteAllText(path, json);
+ }
+
+ public void Write(string id,object o){
+ if (savedData.ContainsKey(id)){
+ savedData[id] = o;
+ }
+ else{
+ savedData.Add(id,o);
+ }
+ }
+
+ public object Read(string id){
+ return savedData.ContainsKey(id) ? savedData[id] : null;
+ }
+ public bool Has(string id){
+ return savedData.ContainsKey(id);
+ }
+ public void Remove(string id){
+ if (savedData.ContainsKey(id)){
+ savedData.Remove(id);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/TNodeCore/Components/RuntimeDataSaver.cs.meta b/TNodeCore/Components/RuntimeDataSaver.cs.meta
new file mode 100644
index 0000000..cad9fa5
--- /dev/null
+++ b/TNodeCore/Components/RuntimeDataSaver.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c4a377b7b5444bf08d3cf68b5a54daf5
+timeCreated: 1658710701
\ No newline at end of file
diff --git a/TNodeCore/Runtime/RuntimeGraph.cs b/TNodeCore/Components/RuntimeGraph.cs
similarity index 96%
rename from TNodeCore/Runtime/RuntimeGraph.cs
rename to TNodeCore/Components/RuntimeGraph.cs
index ddc6415..0cdd8ea 100644
--- a/TNodeCore/Runtime/RuntimeGraph.cs
+++ b/TNodeCore/Components/RuntimeGraph.cs
@@ -2,14 +2,15 @@
using System.Collections.Generic;
using System.Linq;
using TNodeCore.Models;
+using TNodeCore.Runtime;
using UnityEngine;
-namespace TNodeCore.Runtime{
+namespace TNodeCore.Components{
public class RuntimeGraph:MonoBehaviour{
public GraphData graphData;
+ public List sceneNodes;
public readonly Dictionary RuntimeNodes = new Dictionary();
-
private GraphTool _graphTool;
private class GraphTool{
@@ -182,6 +183,13 @@ namespace TNodeCore.Runtime{
RuntimeNodes.Clear();
_build = false;
}
+
+ public void Start(){
+ Build();
+ }
+ public virtual void RuntimeExecute(){
+ _graphTool.DirectlyTraversal();
+ }
}
diff --git a/TNodeCore/Runtime/RuntimeGraph.cs.meta b/TNodeCore/Components/RuntimeGraph.cs.meta
similarity index 100%
rename from TNodeCore/Runtime/RuntimeGraph.cs.meta
rename to TNodeCore/Components/RuntimeGraph.cs.meta
diff --git a/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
index 7db65a6..0208be5 100644
--- a/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
+++ b/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
@@ -1,4 +1,5 @@
using System;
+using TNodeCore.Components;
using TNodeCore.Models;
using TNodeCore.Runtime;
using UnityEngine;
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
index 9836559..c16e838 100644
--- a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
+++ b/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using TNode.Editor.Inspector;
+using TNodeCore.Components;
using TNodeCore.Editor.Blackboard;
using TNodeCore.Editor.EditorPersistence;
using TNodeCore.Editor.NodeGraphView;
From 6c97904cfa417e16d7744378faf72fd3ae69fed3 Mon Sep 17 00:00:00 2001
From: taoria <445625470@qq.com>
Date: Mon, 25 Jul 2022 19:35:01 +0800
Subject: [PATCH 5/5] refactor:move around hierarchy
---
TNode.meta | 3 +++
TNodeCore.meta => TNode/TNodeCore.meta | 0
{TNodeCore => TNode/TNodeCore}/Attribute.meta | 0
{TNodeCore => TNode/TNodeCore}/Attribute/DisableOnInspector.cs | 0
.../TNodeCore}/Attribute/DisableOnInspector.cs.meta | 0
.../TNodeCore}/Attribute/GraphUsageAttribute.cs | 0
.../TNodeCore}/Attribute/GraphUsageAttribute.cs.meta | 0
.../TNodeCore}/Attribute/InternalUsageAttribute.cs | 0
.../TNodeCore}/Attribute/InternalUsageAttribute.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Attribute/NodeAttribute.cs | 0
{TNodeCore => TNode/TNodeCore}/Attribute/NodeAttribute.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Attribute/PortTypeConversion.cs | 0
.../TNodeCore}/Attribute/PortTypeConversion.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Attribute/Ports.meta | 0
.../TNodeCore}/Attribute/Ports/BatchInputAttribute.cs | 0
.../TNodeCore}/Attribute/Ports/BatchInputAttribute.cs.meta | 0
.../TNodeCore}/Attribute/Ports/BatchOutputAttribute.cs | 0
.../TNodeCore}/Attribute/Ports/BatchOutputAttribute.cs.meta | 0
.../TNodeCore}/Attribute/Ports/InputAttribute.cs | 0
.../TNodeCore}/Attribute/Ports/InputAttribute.cs.meta | 0
.../TNodeCore}/Attribute/Ports/OutputAttribute.cs | 0
.../TNodeCore}/Attribute/Ports/OutputAttribute.cs.meta | 0
.../TNodeCore}/Attribute/Ports/PortAttribute.cs | 0
.../TNodeCore}/Attribute/Ports/PortAttribute.cs.meta | 0
.../TNodeCore}/Attribute/RuntimeNodeAttribute.cs | 0
.../TNodeCore}/Attribute/RuntimeNodeAttribute.cs.meta | 0
.../TNodeCore}/Attribute/ShowInNodeViewAttribute.cs | 0
.../TNodeCore}/Attribute/ShowInNodeViewAttribute.cs.meta | 0
.../TNodeCore}/Attribute/ViewComponentAttribute.cs | 0
.../TNodeCore}/Attribute/ViewComponentAttribute.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Components.meta | 0
{TNodeCore => TNode/TNodeCore}/Components/RuntimeDataSaver.cs | 0
.../TNodeCore}/Components/RuntimeDataSaver.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Components/RuntimeGraph.cs | 0
{TNodeCore => TNode/TNodeCore}/Components/RuntimeGraph.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/DataWrapper.cs | 0
{TNodeCore => TNode/TNodeCore}/DataWrapper.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/Blackboard.meta | 0
.../TNodeCore}/Editor/Blackboard/IBlackboardView.cs | 0
.../TNodeCore}/Editor/Blackboard/IBlackboardView.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence.meta | 0
.../TNodeCore}/Editor/EditorPersistence/GraphEditorData.cs | 0
.../Editor/EditorPersistence/GraphEditorData.cs.meta | 0
.../Editor/EditorPersistence/GraphElementEditorData.cs | 0
.../Editor/EditorPersistence/GraphElementEditorData.cs.meta | 0
.../Editor/EditorPersistence/IGraphViewPersistence.cs | 0
.../Editor/EditorPersistence/IGraphViewPersistence.cs.meta | 0
.../TNodeCore}/Editor/EditorPersistence/SubWindowEditorData.cs | 0
.../Editor/EditorPersistence/SubWindowEditorData.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/IGraphEditor.cs | 0
{TNodeCore => TNode/TNodeCore}/Editor/IGraphEditor.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/Inspector.meta | 0
.../TNodeCore}/Editor/Inspector/INodeDataBinding.cs | 0
.../TNodeCore}/Editor/Inspector/INodeDataBinding.cs.meta | 0
.../TNodeCore}/Editor/Inspector/INodeDataBindingBase.cs | 0
.../TNodeCore}/Editor/Inspector/INodeDataBindingBase.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/NodeGraphView.meta | 0
.../TNodeCore}/Editor/NodeGraphView/IBaseDataGraphView.cs | 0
.../TNodeCore}/Editor/NodeGraphView/IBaseDataGraphView.cs.meta | 0
.../TNodeCore}/Editor/NodeGraphView/IDataGraphView.cs | 0
.../TNodeCore}/Editor/NodeGraphView/IDataGraphView.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/PropertyDrawer.meta | 0
.../TNodeCore}/Editor/PropertyDrawer/PropertyDrawer.cs | 0
.../TNodeCore}/Editor/PropertyDrawer/PropertyDrawer.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/Resources.meta | 0
.../TNodeCore}/Editor/Resources/DefaultNodeData.asset | 0
.../TNodeCore}/Editor/Resources/DefaultNodeData.asset.meta | 0
.../TNodeCore}/Editor/Resources/GraphEditor.uss | 0
.../TNodeCore}/Editor/Resources/GraphEditor.uss.meta | 0
.../TNodeCore}/Editor/Resources/GraphEditor.uxml | 0
.../TNodeCore}/Editor/Resources/GraphEditor.uxml.meta | 0
.../TNodeCore}/Editor/Resources/NodeInspector.uss | 0
.../TNodeCore}/Editor/Resources/NodeInspector.uss.meta | 0
.../TNodeCore}/Editor/Resources/NodeInspector.uxml | 0
.../TNodeCore}/Editor/Resources/NodeInspector.uxml.meta | 0
.../TNodeCore}/Editor/Resources/ScriptTemplates.meta | 0
.../Editor/Resources/ScriptTemplates/NewGraph.cs.txt | 0
.../Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta | 0
.../Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt | 0
.../Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta | 0
.../Editor/Resources/ScriptTemplates/NewGraphView.cs.txt | 0
.../Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/Serialization.meta | 0
.../TNodeCore}/Editor/Serialization/BlackboardDataWrapper.cs | 0
.../Editor/Serialization/BlackboardDataWrapper.cs.meta | 0
.../TNodeCore}/Editor/Serialization/NodeDataWrapper.cs | 0
.../TNodeCore}/Editor/Serialization/NodeDataWrapper.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/Tools.meta | 0
.../TNodeCore}/Editor/Tools/GraphEditorCreator.meta | 0
.../Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs | 0
.../Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta | 0
.../Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss | 0
.../Tools/GraphEditorCreator/GraphEditorCreator.uss.meta | 0
.../Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml | 0
.../Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta | 0
.../Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs | 0
.../GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Editor/Tools/NodeCreator.meta | 0
.../TNodeCore}/Editor/Tools/NodeCreator/NodeCreator.cs | 0
.../TNodeCore}/Editor/Tools/NodeCreator/NodeCreator.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/GraphEditor.cs | 0
{TNodeCore => TNode/TNodeCore}/GraphEditor.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/BlackboardData.cs | 0
{TNodeCore => TNode/TNodeCore}/Models/BlackboardData.cs.meta | 0
.../TNodeCore}/Models/BlackboardDragNodeData.cs | 0
.../TNodeCore}/Models/BlackboardDragNodeData.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/GraphData.cs | 0
{TNodeCore => TNode/TNodeCore}/Models/GraphData.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/IModel.cs | 0
{TNodeCore => TNode/TNodeCore}/Models/IModel.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/NodeData.cs | 0
{TNodeCore => TNode/TNodeCore}/Models/NodeData.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/NodeLink.cs | 0
{TNodeCore => TNode/TNodeCore}/Models/NodeLink.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/PortInfo.cs | 0
{TNodeCore => TNode/TNodeCore}/Models/PortInfo.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Models/SceneObjectWrapper.cs | 0
.../TNodeCore}/Models/SceneObjectWrapper.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Runtime.meta | 0
{TNodeCore => TNode/TNodeCore}/Runtime/Interfaces.meta | 0
.../TNodeCore}/Runtime/Interfaces/IPortTypeConversion.cs | 0
.../TNodeCore}/Runtime/Interfaces/IPortTypeConversion.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Runtime/RuntimeNode.cs | 0
{TNodeCore => TNode/TNodeCore}/Runtime/RuntimeNode.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Runtime/Runtimeblackboard.cs | 0
.../TNodeCore}/Runtime/Runtimeblackboard.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/Runtime/SceneSerializedData.cs | 0
.../TNodeCore}/Runtime/SceneSerializedData.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/RuntimeCache.meta | 0
.../TNodeCore}/RuntimeCache/IModelPropertyAccessor.cs | 0
.../TNodeCore}/RuntimeCache/IModelPropertyAccessor.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/RuntimeCache/RuntimeCache.cs | 1 -
.../TNodeCore}/RuntimeCache/RuntimeCache.cs.meta | 0
{TNodeCore => TNode/TNodeCore}/TNodeCore.asmdef | 0
{TNodeCore => TNode/TNodeCore}/TNodeCore.asmdef.meta | 0
TNodeGraphViewImpl.meta => TNode/TNodeGraphViewImpl.meta | 0
{TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor.meta | 0
.../TNodeGraphViewImpl}/Editor/Cache.meta | 0
.../TNodeGraphViewImpl}/Editor/Cache/NodeEditorExtensions.cs | 0
.../Editor/Cache/NodeEditorExtensions.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/GraphBlackboard.meta | 0
.../Editor/GraphBlackboard/BlackboardField.cs | 0
.../Editor/GraphBlackboard/BlackboardField.cs.meta | 0
.../Editor/GraphBlackboard/BlackboardProperty.meta | 0
.../GraphBlackboard/BlackboardProperty/BlackboardProperty.cs | 0
.../BlackboardProperty/BlackboardProperty.cs.meta | 0
.../Editor/GraphBlackboard/DefaultGraphBlackboardView.cs | 0
.../Editor/GraphBlackboard/DefaultGraphBlackboardView.cs.meta | 0
.../Editor/GraphBlackboard/GraphBlackboardPropertyField.cs | 0
.../GraphBlackboard/GraphBlackboardPropertyField.cs.meta | 0
.../Editor/GraphBlackboard/GraphBlackboardView.cs | 0
.../Editor/GraphBlackboard/GraphBlackboardView.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/Inspector.meta | 0
.../TNodeGraphViewImpl}/Editor/Inspector/NodeInspector.cs | 0
.../TNodeGraphViewImpl}/Editor/Inspector/NodeInspector.cs.meta | 0
.../Editor/Inspector/NodeInspectorInNode.cs | 0
.../Editor/Inspector/NodeInspectorInNode.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/NodeGraphView.meta | 0
.../TNodeGraphViewImpl}/Editor/NodeGraphView/DataGraphView.cs | 0
.../Editor/NodeGraphView/DataGraphView.cs.meta | 0
.../Editor/NodeGraphView/SimpleGraphSubWindow.cs | 0
.../Editor/NodeGraphView/SimpleGraphSubWindow.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/NodeViews.meta | 0
.../TNodeGraphViewImpl}/Editor/NodeViews/DefaultNodeView.cs | 0
.../Editor/NodeViews/DefaultNodeView.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/NodeViews/DragNodeView.cs | 0
.../TNodeGraphViewImpl}/Editor/NodeViews/DragNodeView.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/NodeViews/NodeView.cs | 0
.../TNodeGraphViewImpl}/Editor/NodeViews/NodeView.cs.meta | 0
.../TNodeGraphViewImpl}/Editor/Resources.meta | 0
.../TNodeGraphViewImpl}/Editor/Resources/DragNodeStyle.uss | 0
.../Editor/Resources/DragNodeStyle.uss.meta | 0
.../Editor/Resources/GraphViewBackground.uss | 0
.../Editor/Resources/GraphViewBackground.uss.meta | 0
.../Editor/Resources/GraphViewPropertyField.uss | 0
.../Editor/Resources/GraphViewPropertyField.uss.meta | 0
.../TNodeGraphViewImpl}/Editor/Search.meta | 0
.../Editor/Search/BlackboardSearchWindowProvider.cs | 0
.../Editor/Search/BlackboardSearchWindowProvider.cs.meta | 0
.../Editor/Search/NodeSearchWindowProvider.cs | 0
.../Editor/Search/NodeSearchWindowProvider.cs.meta | 0
183 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 TNode.meta
rename TNodeCore.meta => TNode/TNodeCore.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/DisableOnInspector.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/DisableOnInspector.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/GraphUsageAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/GraphUsageAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/InternalUsageAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/InternalUsageAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/NodeAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/NodeAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/PortTypeConversion.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/PortTypeConversion.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/BatchInputAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/BatchInputAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/BatchOutputAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/BatchOutputAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/InputAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/InputAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/OutputAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/OutputAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/PortAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/Ports/PortAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/RuntimeNodeAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/RuntimeNodeAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/ShowInNodeViewAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/ShowInNodeViewAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/ViewComponentAttribute.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Attribute/ViewComponentAttribute.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Components.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Components/RuntimeDataSaver.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Components/RuntimeDataSaver.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Components/RuntimeGraph.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Components/RuntimeGraph.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/DataWrapper.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/DataWrapper.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Blackboard.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Blackboard/IBlackboardView.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Blackboard/IBlackboardView.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/GraphEditorData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/GraphEditorData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/GraphElementEditorData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/GraphElementEditorData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/IGraphViewPersistence.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/IGraphViewPersistence.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/SubWindowEditorData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/EditorPersistence/SubWindowEditorData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/IGraphEditor.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/IGraphEditor.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Inspector.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Inspector/INodeDataBinding.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Inspector/INodeDataBinding.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Inspector/INodeDataBindingBase.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Inspector/INodeDataBindingBase.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/NodeGraphView.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/NodeGraphView/IBaseDataGraphView.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/NodeGraphView/IBaseDataGraphView.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/NodeGraphView/IDataGraphView.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/NodeGraphView/IDataGraphView.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/PropertyDrawer.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/PropertyDrawer/PropertyDrawer.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/PropertyDrawer/PropertyDrawer.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/DefaultNodeData.asset (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/DefaultNodeData.asset.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/GraphEditor.uss (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/GraphEditor.uss.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/GraphEditor.uxml (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/GraphEditor.uxml.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/NodeInspector.uss (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/NodeInspector.uss.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/NodeInspector.uxml (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/NodeInspector.uxml.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates/NewGraph.cs.txt (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Serialization.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Serialization/BlackboardDataWrapper.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Serialization/BlackboardDataWrapper.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Serialization/NodeDataWrapper.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Serialization/NodeDataWrapper.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/NodeCreator.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/NodeCreator/NodeCreator.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Editor/Tools/NodeCreator/NodeCreator.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/GraphEditor.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/GraphEditor.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/BlackboardData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/BlackboardData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/BlackboardDragNodeData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/BlackboardDragNodeData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/GraphData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/GraphData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/IModel.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/IModel.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/NodeData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/NodeData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/NodeLink.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/NodeLink.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/PortInfo.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/PortInfo.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/SceneObjectWrapper.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Models/SceneObjectWrapper.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/Interfaces.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/Interfaces/IPortTypeConversion.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/Interfaces/IPortTypeConversion.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/RuntimeNode.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/RuntimeNode.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/Runtimeblackboard.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/Runtimeblackboard.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/SceneSerializedData.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/Runtime/SceneSerializedData.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/RuntimeCache.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/RuntimeCache/IModelPropertyAccessor.cs (100%)
rename {TNodeCore => TNode/TNodeCore}/RuntimeCache/IModelPropertyAccessor.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/RuntimeCache/RuntimeCache.cs (99%)
rename {TNodeCore => TNode/TNodeCore}/RuntimeCache/RuntimeCache.cs.meta (100%)
rename {TNodeCore => TNode/TNodeCore}/TNodeCore.asmdef (100%)
rename {TNodeCore => TNode/TNodeCore}/TNodeCore.asmdef.meta (100%)
rename TNodeGraphViewImpl.meta => TNode/TNodeGraphViewImpl.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Cache.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Cache/NodeEditorExtensions.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Cache/NodeEditorExtensions.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/BlackboardField.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/BlackboardField.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/BlackboardProperty.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/GraphBlackboardView.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/GraphBlackboard/GraphBlackboardView.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Inspector.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Inspector/NodeInspector.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Inspector/NodeInspector.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Inspector/NodeInspectorInNode.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Inspector/NodeInspectorInNode.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeGraphView.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeGraphView/DataGraphView.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeGraphView/DataGraphView.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeGraphView/SimpleGraphSubWindow.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeGraphView/SimpleGraphSubWindow.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews/DefaultNodeView.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews/DefaultNodeView.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews/DragNodeView.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews/DragNodeView.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews/NodeView.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/NodeViews/NodeView.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources/DragNodeStyle.uss (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources/DragNodeStyle.uss.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources/GraphViewBackground.uss (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources/GraphViewBackground.uss.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources/GraphViewPropertyField.uss (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Resources/GraphViewPropertyField.uss.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Search.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Search/BlackboardSearchWindowProvider.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Search/BlackboardSearchWindowProvider.cs.meta (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Search/NodeSearchWindowProvider.cs (100%)
rename {TNodeGraphViewImpl => TNode/TNodeGraphViewImpl}/Editor/Search/NodeSearchWindowProvider.cs.meta (100%)
diff --git a/TNode.meta b/TNode.meta
new file mode 100644
index 0000000..6fd0aeb
--- /dev/null
+++ b/TNode.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 79f6cd5142e74b9daa463cad028297de
+timeCreated: 1658748790
\ No newline at end of file
diff --git a/TNodeCore.meta b/TNode/TNodeCore.meta
similarity index 100%
rename from TNodeCore.meta
rename to TNode/TNodeCore.meta
diff --git a/TNodeCore/Attribute.meta b/TNode/TNodeCore/Attribute.meta
similarity index 100%
rename from TNodeCore/Attribute.meta
rename to TNode/TNodeCore/Attribute.meta
diff --git a/TNodeCore/Attribute/DisableOnInspector.cs b/TNode/TNodeCore/Attribute/DisableOnInspector.cs
similarity index 100%
rename from TNodeCore/Attribute/DisableOnInspector.cs
rename to TNode/TNodeCore/Attribute/DisableOnInspector.cs
diff --git a/TNodeCore/Attribute/DisableOnInspector.cs.meta b/TNode/TNodeCore/Attribute/DisableOnInspector.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/DisableOnInspector.cs.meta
rename to TNode/TNodeCore/Attribute/DisableOnInspector.cs.meta
diff --git a/TNodeCore/Attribute/GraphUsageAttribute.cs b/TNode/TNodeCore/Attribute/GraphUsageAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/GraphUsageAttribute.cs
rename to TNode/TNodeCore/Attribute/GraphUsageAttribute.cs
diff --git a/TNodeCore/Attribute/GraphUsageAttribute.cs.meta b/TNode/TNodeCore/Attribute/GraphUsageAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/GraphUsageAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/GraphUsageAttribute.cs.meta
diff --git a/TNodeCore/Attribute/InternalUsageAttribute.cs b/TNode/TNodeCore/Attribute/InternalUsageAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/InternalUsageAttribute.cs
rename to TNode/TNodeCore/Attribute/InternalUsageAttribute.cs
diff --git a/TNodeCore/Attribute/InternalUsageAttribute.cs.meta b/TNode/TNodeCore/Attribute/InternalUsageAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/InternalUsageAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/InternalUsageAttribute.cs.meta
diff --git a/TNodeCore/Attribute/NodeAttribute.cs b/TNode/TNodeCore/Attribute/NodeAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/NodeAttribute.cs
rename to TNode/TNodeCore/Attribute/NodeAttribute.cs
diff --git a/TNodeCore/Attribute/NodeAttribute.cs.meta b/TNode/TNodeCore/Attribute/NodeAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/NodeAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/NodeAttribute.cs.meta
diff --git a/TNodeCore/Attribute/PortTypeConversion.cs b/TNode/TNodeCore/Attribute/PortTypeConversion.cs
similarity index 100%
rename from TNodeCore/Attribute/PortTypeConversion.cs
rename to TNode/TNodeCore/Attribute/PortTypeConversion.cs
diff --git a/TNodeCore/Attribute/PortTypeConversion.cs.meta b/TNode/TNodeCore/Attribute/PortTypeConversion.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/PortTypeConversion.cs.meta
rename to TNode/TNodeCore/Attribute/PortTypeConversion.cs.meta
diff --git a/TNodeCore/Attribute/Ports.meta b/TNode/TNodeCore/Attribute/Ports.meta
similarity index 100%
rename from TNodeCore/Attribute/Ports.meta
rename to TNode/TNodeCore/Attribute/Ports.meta
diff --git a/TNodeCore/Attribute/Ports/BatchInputAttribute.cs b/TNode/TNodeCore/Attribute/Ports/BatchInputAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/Ports/BatchInputAttribute.cs
rename to TNode/TNodeCore/Attribute/Ports/BatchInputAttribute.cs
diff --git a/TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta b/TNode/TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta
diff --git a/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs b/TNode/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/Ports/BatchOutputAttribute.cs
rename to TNode/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs
diff --git a/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta b/TNode/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta
diff --git a/TNodeCore/Attribute/Ports/InputAttribute.cs b/TNode/TNodeCore/Attribute/Ports/InputAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/Ports/InputAttribute.cs
rename to TNode/TNodeCore/Attribute/Ports/InputAttribute.cs
diff --git a/TNodeCore/Attribute/Ports/InputAttribute.cs.meta b/TNode/TNodeCore/Attribute/Ports/InputAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/Ports/InputAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/Ports/InputAttribute.cs.meta
diff --git a/TNodeCore/Attribute/Ports/OutputAttribute.cs b/TNode/TNodeCore/Attribute/Ports/OutputAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/Ports/OutputAttribute.cs
rename to TNode/TNodeCore/Attribute/Ports/OutputAttribute.cs
diff --git a/TNodeCore/Attribute/Ports/OutputAttribute.cs.meta b/TNode/TNodeCore/Attribute/Ports/OutputAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/Ports/OutputAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/Ports/OutputAttribute.cs.meta
diff --git a/TNodeCore/Attribute/Ports/PortAttribute.cs b/TNode/TNodeCore/Attribute/Ports/PortAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/Ports/PortAttribute.cs
rename to TNode/TNodeCore/Attribute/Ports/PortAttribute.cs
diff --git a/TNodeCore/Attribute/Ports/PortAttribute.cs.meta b/TNode/TNodeCore/Attribute/Ports/PortAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/Ports/PortAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/Ports/PortAttribute.cs.meta
diff --git a/TNodeCore/Attribute/RuntimeNodeAttribute.cs b/TNode/TNodeCore/Attribute/RuntimeNodeAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/RuntimeNodeAttribute.cs
rename to TNode/TNodeCore/Attribute/RuntimeNodeAttribute.cs
diff --git a/TNodeCore/Attribute/RuntimeNodeAttribute.cs.meta b/TNode/TNodeCore/Attribute/RuntimeNodeAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/RuntimeNodeAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/RuntimeNodeAttribute.cs.meta
diff --git a/TNodeCore/Attribute/ShowInNodeViewAttribute.cs b/TNode/TNodeCore/Attribute/ShowInNodeViewAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/ShowInNodeViewAttribute.cs
rename to TNode/TNodeCore/Attribute/ShowInNodeViewAttribute.cs
diff --git a/TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta b/TNode/TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta
diff --git a/TNodeCore/Attribute/ViewComponentAttribute.cs b/TNode/TNodeCore/Attribute/ViewComponentAttribute.cs
similarity index 100%
rename from TNodeCore/Attribute/ViewComponentAttribute.cs
rename to TNode/TNodeCore/Attribute/ViewComponentAttribute.cs
diff --git a/TNodeCore/Attribute/ViewComponentAttribute.cs.meta b/TNode/TNodeCore/Attribute/ViewComponentAttribute.cs.meta
similarity index 100%
rename from TNodeCore/Attribute/ViewComponentAttribute.cs.meta
rename to TNode/TNodeCore/Attribute/ViewComponentAttribute.cs.meta
diff --git a/TNodeCore/Components.meta b/TNode/TNodeCore/Components.meta
similarity index 100%
rename from TNodeCore/Components.meta
rename to TNode/TNodeCore/Components.meta
diff --git a/TNodeCore/Components/RuntimeDataSaver.cs b/TNode/TNodeCore/Components/RuntimeDataSaver.cs
similarity index 100%
rename from TNodeCore/Components/RuntimeDataSaver.cs
rename to TNode/TNodeCore/Components/RuntimeDataSaver.cs
diff --git a/TNodeCore/Components/RuntimeDataSaver.cs.meta b/TNode/TNodeCore/Components/RuntimeDataSaver.cs.meta
similarity index 100%
rename from TNodeCore/Components/RuntimeDataSaver.cs.meta
rename to TNode/TNodeCore/Components/RuntimeDataSaver.cs.meta
diff --git a/TNodeCore/Components/RuntimeGraph.cs b/TNode/TNodeCore/Components/RuntimeGraph.cs
similarity index 100%
rename from TNodeCore/Components/RuntimeGraph.cs
rename to TNode/TNodeCore/Components/RuntimeGraph.cs
diff --git a/TNodeCore/Components/RuntimeGraph.cs.meta b/TNode/TNodeCore/Components/RuntimeGraph.cs.meta
similarity index 100%
rename from TNodeCore/Components/RuntimeGraph.cs.meta
rename to TNode/TNodeCore/Components/RuntimeGraph.cs.meta
diff --git a/TNodeCore/DataWrapper.cs b/TNode/TNodeCore/DataWrapper.cs
similarity index 100%
rename from TNodeCore/DataWrapper.cs
rename to TNode/TNodeCore/DataWrapper.cs
diff --git a/TNodeCore/DataWrapper.cs.meta b/TNode/TNodeCore/DataWrapper.cs.meta
similarity index 100%
rename from TNodeCore/DataWrapper.cs.meta
rename to TNode/TNodeCore/DataWrapper.cs.meta
diff --git a/TNodeCore/Editor.meta b/TNode/TNodeCore/Editor.meta
similarity index 100%
rename from TNodeCore/Editor.meta
rename to TNode/TNodeCore/Editor.meta
diff --git a/TNodeCore/Editor/Blackboard.meta b/TNode/TNodeCore/Editor/Blackboard.meta
similarity index 100%
rename from TNodeCore/Editor/Blackboard.meta
rename to TNode/TNodeCore/Editor/Blackboard.meta
diff --git a/TNodeCore/Editor/Blackboard/IBlackboardView.cs b/TNode/TNodeCore/Editor/Blackboard/IBlackboardView.cs
similarity index 100%
rename from TNodeCore/Editor/Blackboard/IBlackboardView.cs
rename to TNode/TNodeCore/Editor/Blackboard/IBlackboardView.cs
diff --git a/TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta b/TNode/TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta
rename to TNode/TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta
diff --git a/TNodeCore/Editor/EditorPersistence.meta b/TNode/TNodeCore/Editor/EditorPersistence.meta
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence.meta
rename to TNode/TNodeCore/Editor/EditorPersistence.meta
diff --git a/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs b/TNode/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/GraphEditorData.cs
rename to TNode/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs
diff --git a/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta b/TNode/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta
rename to TNode/TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta
diff --git a/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs b/TNode/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs
rename to TNode/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs
diff --git a/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta b/TNode/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta
rename to TNode/TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta
diff --git a/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs b/TNode/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs
rename to TNode/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs
diff --git a/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta b/TNode/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta
rename to TNode/TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta
diff --git a/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs b/TNode/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs
rename to TNode/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs
diff --git a/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta b/TNode/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta
similarity index 100%
rename from TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta
rename to TNode/TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta
diff --git a/TNodeCore/Editor/IGraphEditor.cs b/TNode/TNodeCore/Editor/IGraphEditor.cs
similarity index 100%
rename from TNodeCore/Editor/IGraphEditor.cs
rename to TNode/TNodeCore/Editor/IGraphEditor.cs
diff --git a/TNodeCore/Editor/IGraphEditor.cs.meta b/TNode/TNodeCore/Editor/IGraphEditor.cs.meta
similarity index 100%
rename from TNodeCore/Editor/IGraphEditor.cs.meta
rename to TNode/TNodeCore/Editor/IGraphEditor.cs.meta
diff --git a/TNodeCore/Editor/Inspector.meta b/TNode/TNodeCore/Editor/Inspector.meta
similarity index 100%
rename from TNodeCore/Editor/Inspector.meta
rename to TNode/TNodeCore/Editor/Inspector.meta
diff --git a/TNodeCore/Editor/Inspector/INodeDataBinding.cs b/TNode/TNodeCore/Editor/Inspector/INodeDataBinding.cs
similarity index 100%
rename from TNodeCore/Editor/Inspector/INodeDataBinding.cs
rename to TNode/TNodeCore/Editor/Inspector/INodeDataBinding.cs
diff --git a/TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta b/TNode/TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta
rename to TNode/TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta
diff --git a/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs b/TNode/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs
similarity index 100%
rename from TNodeCore/Editor/Inspector/INodeDataBindingBase.cs
rename to TNode/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs
diff --git a/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta b/TNode/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta
rename to TNode/TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta
diff --git a/TNodeCore/Editor/NodeGraphView.meta b/TNode/TNodeCore/Editor/NodeGraphView.meta
similarity index 100%
rename from TNodeCore/Editor/NodeGraphView.meta
rename to TNode/TNodeCore/Editor/NodeGraphView.meta
diff --git a/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs b/TNode/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
similarity index 100%
rename from TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
rename to TNode/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
diff --git a/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta b/TNode/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta
similarity index 100%
rename from TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta
rename to TNode/TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta
diff --git a/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs b/TNode/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs
similarity index 100%
rename from TNodeCore/Editor/NodeGraphView/IDataGraphView.cs
rename to TNode/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs
diff --git a/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta b/TNode/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta
similarity index 100%
rename from TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta
rename to TNode/TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta
diff --git a/TNodeCore/Editor/PropertyDrawer.meta b/TNode/TNodeCore/Editor/PropertyDrawer.meta
similarity index 100%
rename from TNodeCore/Editor/PropertyDrawer.meta
rename to TNode/TNodeCore/Editor/PropertyDrawer.meta
diff --git a/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs b/TNode/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs
similarity index 100%
rename from TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs
rename to TNode/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs
diff --git a/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta b/TNode/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta
similarity index 100%
rename from TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta
rename to TNode/TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta
diff --git a/TNodeCore/Editor/Resources.meta b/TNode/TNodeCore/Editor/Resources.meta
similarity index 100%
rename from TNodeCore/Editor/Resources.meta
rename to TNode/TNodeCore/Editor/Resources.meta
diff --git a/TNodeCore/Editor/Resources/DefaultNodeData.asset b/TNode/TNodeCore/Editor/Resources/DefaultNodeData.asset
similarity index 100%
rename from TNodeCore/Editor/Resources/DefaultNodeData.asset
rename to TNode/TNodeCore/Editor/Resources/DefaultNodeData.asset
diff --git a/TNodeCore/Editor/Resources/DefaultNodeData.asset.meta b/TNode/TNodeCore/Editor/Resources/DefaultNodeData.asset.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/DefaultNodeData.asset.meta
rename to TNode/TNodeCore/Editor/Resources/DefaultNodeData.asset.meta
diff --git a/TNodeCore/Editor/Resources/GraphEditor.uss b/TNode/TNodeCore/Editor/Resources/GraphEditor.uss
similarity index 100%
rename from TNodeCore/Editor/Resources/GraphEditor.uss
rename to TNode/TNodeCore/Editor/Resources/GraphEditor.uss
diff --git a/TNodeCore/Editor/Resources/GraphEditor.uss.meta b/TNode/TNodeCore/Editor/Resources/GraphEditor.uss.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/GraphEditor.uss.meta
rename to TNode/TNodeCore/Editor/Resources/GraphEditor.uss.meta
diff --git a/TNodeCore/Editor/Resources/GraphEditor.uxml b/TNode/TNodeCore/Editor/Resources/GraphEditor.uxml
similarity index 100%
rename from TNodeCore/Editor/Resources/GraphEditor.uxml
rename to TNode/TNodeCore/Editor/Resources/GraphEditor.uxml
diff --git a/TNodeCore/Editor/Resources/GraphEditor.uxml.meta b/TNode/TNodeCore/Editor/Resources/GraphEditor.uxml.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/GraphEditor.uxml.meta
rename to TNode/TNodeCore/Editor/Resources/GraphEditor.uxml.meta
diff --git a/TNodeCore/Editor/Resources/NodeInspector.uss b/TNode/TNodeCore/Editor/Resources/NodeInspector.uss
similarity index 100%
rename from TNodeCore/Editor/Resources/NodeInspector.uss
rename to TNode/TNodeCore/Editor/Resources/NodeInspector.uss
diff --git a/TNodeCore/Editor/Resources/NodeInspector.uss.meta b/TNode/TNodeCore/Editor/Resources/NodeInspector.uss.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/NodeInspector.uss.meta
rename to TNode/TNodeCore/Editor/Resources/NodeInspector.uss.meta
diff --git a/TNodeCore/Editor/Resources/NodeInspector.uxml b/TNode/TNodeCore/Editor/Resources/NodeInspector.uxml
similarity index 100%
rename from TNodeCore/Editor/Resources/NodeInspector.uxml
rename to TNode/TNodeCore/Editor/Resources/NodeInspector.uxml
diff --git a/TNodeCore/Editor/Resources/NodeInspector.uxml.meta b/TNode/TNodeCore/Editor/Resources/NodeInspector.uxml.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/NodeInspector.uxml.meta
rename to TNode/TNodeCore/Editor/Resources/NodeInspector.uxml.meta
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates.meta b/TNode/TNodeCore/Editor/Resources/ScriptTemplates.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates.meta
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates.meta
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt b/TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta b/TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt b/TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta b/TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt b/TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt
diff --git a/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta b/TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta
similarity index 100%
rename from TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta
rename to TNode/TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta
diff --git a/TNodeCore/Editor/Serialization.meta b/TNode/TNodeCore/Editor/Serialization.meta
similarity index 100%
rename from TNodeCore/Editor/Serialization.meta
rename to TNode/TNodeCore/Editor/Serialization.meta
diff --git a/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs b/TNode/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs
similarity index 100%
rename from TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs
rename to TNode/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs
diff --git a/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta b/TNode/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta
rename to TNode/TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta
diff --git a/TNodeCore/Editor/Serialization/NodeDataWrapper.cs b/TNode/TNodeCore/Editor/Serialization/NodeDataWrapper.cs
similarity index 100%
rename from TNodeCore/Editor/Serialization/NodeDataWrapper.cs
rename to TNode/TNodeCore/Editor/Serialization/NodeDataWrapper.cs
diff --git a/TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta b/TNode/TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta
rename to TNode/TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta
diff --git a/TNodeCore/Editor/Tools.meta b/TNode/TNodeCore/Editor/Tools.meta
similarity index 100%
rename from TNodeCore/Editor/Tools.meta
rename to TNode/TNodeCore/Editor/Tools.meta
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator.meta b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator.meta
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator.meta
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs
diff --git a/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta b/TNode/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta
rename to TNode/TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta
diff --git a/TNodeCore/Editor/Tools/NodeCreator.meta b/TNode/TNodeCore/Editor/Tools/NodeCreator.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/NodeCreator.meta
rename to TNode/TNodeCore/Editor/Tools/NodeCreator.meta
diff --git a/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs b/TNode/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs
similarity index 100%
rename from TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs
rename to TNode/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs
diff --git a/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta b/TNode/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta
similarity index 100%
rename from TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta
rename to TNode/TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta
diff --git a/TNodeCore/GraphEditor.cs b/TNode/TNodeCore/GraphEditor.cs
similarity index 100%
rename from TNodeCore/GraphEditor.cs
rename to TNode/TNodeCore/GraphEditor.cs
diff --git a/TNodeCore/GraphEditor.cs.meta b/TNode/TNodeCore/GraphEditor.cs.meta
similarity index 100%
rename from TNodeCore/GraphEditor.cs.meta
rename to TNode/TNodeCore/GraphEditor.cs.meta
diff --git a/TNodeCore/Models.meta b/TNode/TNodeCore/Models.meta
similarity index 100%
rename from TNodeCore/Models.meta
rename to TNode/TNodeCore/Models.meta
diff --git a/TNodeCore/Models/BlackboardData.cs b/TNode/TNodeCore/Models/BlackboardData.cs
similarity index 100%
rename from TNodeCore/Models/BlackboardData.cs
rename to TNode/TNodeCore/Models/BlackboardData.cs
diff --git a/TNodeCore/Models/BlackboardData.cs.meta b/TNode/TNodeCore/Models/BlackboardData.cs.meta
similarity index 100%
rename from TNodeCore/Models/BlackboardData.cs.meta
rename to TNode/TNodeCore/Models/BlackboardData.cs.meta
diff --git a/TNodeCore/Models/BlackboardDragNodeData.cs b/TNode/TNodeCore/Models/BlackboardDragNodeData.cs
similarity index 100%
rename from TNodeCore/Models/BlackboardDragNodeData.cs
rename to TNode/TNodeCore/Models/BlackboardDragNodeData.cs
diff --git a/TNodeCore/Models/BlackboardDragNodeData.cs.meta b/TNode/TNodeCore/Models/BlackboardDragNodeData.cs.meta
similarity index 100%
rename from TNodeCore/Models/BlackboardDragNodeData.cs.meta
rename to TNode/TNodeCore/Models/BlackboardDragNodeData.cs.meta
diff --git a/TNodeCore/Models/GraphData.cs b/TNode/TNodeCore/Models/GraphData.cs
similarity index 100%
rename from TNodeCore/Models/GraphData.cs
rename to TNode/TNodeCore/Models/GraphData.cs
diff --git a/TNodeCore/Models/GraphData.cs.meta b/TNode/TNodeCore/Models/GraphData.cs.meta
similarity index 100%
rename from TNodeCore/Models/GraphData.cs.meta
rename to TNode/TNodeCore/Models/GraphData.cs.meta
diff --git a/TNodeCore/Models/IModel.cs b/TNode/TNodeCore/Models/IModel.cs
similarity index 100%
rename from TNodeCore/Models/IModel.cs
rename to TNode/TNodeCore/Models/IModel.cs
diff --git a/TNodeCore/Models/IModel.cs.meta b/TNode/TNodeCore/Models/IModel.cs.meta
similarity index 100%
rename from TNodeCore/Models/IModel.cs.meta
rename to TNode/TNodeCore/Models/IModel.cs.meta
diff --git a/TNodeCore/Models/NodeData.cs b/TNode/TNodeCore/Models/NodeData.cs
similarity index 100%
rename from TNodeCore/Models/NodeData.cs
rename to TNode/TNodeCore/Models/NodeData.cs
diff --git a/TNodeCore/Models/NodeData.cs.meta b/TNode/TNodeCore/Models/NodeData.cs.meta
similarity index 100%
rename from TNodeCore/Models/NodeData.cs.meta
rename to TNode/TNodeCore/Models/NodeData.cs.meta
diff --git a/TNodeCore/Models/NodeLink.cs b/TNode/TNodeCore/Models/NodeLink.cs
similarity index 100%
rename from TNodeCore/Models/NodeLink.cs
rename to TNode/TNodeCore/Models/NodeLink.cs
diff --git a/TNodeCore/Models/NodeLink.cs.meta b/TNode/TNodeCore/Models/NodeLink.cs.meta
similarity index 100%
rename from TNodeCore/Models/NodeLink.cs.meta
rename to TNode/TNodeCore/Models/NodeLink.cs.meta
diff --git a/TNodeCore/Models/PortInfo.cs b/TNode/TNodeCore/Models/PortInfo.cs
similarity index 100%
rename from TNodeCore/Models/PortInfo.cs
rename to TNode/TNodeCore/Models/PortInfo.cs
diff --git a/TNodeCore/Models/PortInfo.cs.meta b/TNode/TNodeCore/Models/PortInfo.cs.meta
similarity index 100%
rename from TNodeCore/Models/PortInfo.cs.meta
rename to TNode/TNodeCore/Models/PortInfo.cs.meta
diff --git a/TNodeCore/Models/SceneObjectWrapper.cs b/TNode/TNodeCore/Models/SceneObjectWrapper.cs
similarity index 100%
rename from TNodeCore/Models/SceneObjectWrapper.cs
rename to TNode/TNodeCore/Models/SceneObjectWrapper.cs
diff --git a/TNodeCore/Models/SceneObjectWrapper.cs.meta b/TNode/TNodeCore/Models/SceneObjectWrapper.cs.meta
similarity index 100%
rename from TNodeCore/Models/SceneObjectWrapper.cs.meta
rename to TNode/TNodeCore/Models/SceneObjectWrapper.cs.meta
diff --git a/TNodeCore/Runtime.meta b/TNode/TNodeCore/Runtime.meta
similarity index 100%
rename from TNodeCore/Runtime.meta
rename to TNode/TNodeCore/Runtime.meta
diff --git a/TNodeCore/Runtime/Interfaces.meta b/TNode/TNodeCore/Runtime/Interfaces.meta
similarity index 100%
rename from TNodeCore/Runtime/Interfaces.meta
rename to TNode/TNodeCore/Runtime/Interfaces.meta
diff --git a/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs b/TNode/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs
similarity index 100%
rename from TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs
rename to TNode/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs
diff --git a/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs.meta b/TNode/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs.meta
similarity index 100%
rename from TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs.meta
rename to TNode/TNodeCore/Runtime/Interfaces/IPortTypeConversion.cs.meta
diff --git a/TNodeCore/Runtime/RuntimeNode.cs b/TNode/TNodeCore/Runtime/RuntimeNode.cs
similarity index 100%
rename from TNodeCore/Runtime/RuntimeNode.cs
rename to TNode/TNodeCore/Runtime/RuntimeNode.cs
diff --git a/TNodeCore/Runtime/RuntimeNode.cs.meta b/TNode/TNodeCore/Runtime/RuntimeNode.cs.meta
similarity index 100%
rename from TNodeCore/Runtime/RuntimeNode.cs.meta
rename to TNode/TNodeCore/Runtime/RuntimeNode.cs.meta
diff --git a/TNodeCore/Runtime/Runtimeblackboard.cs b/TNode/TNodeCore/Runtime/Runtimeblackboard.cs
similarity index 100%
rename from TNodeCore/Runtime/Runtimeblackboard.cs
rename to TNode/TNodeCore/Runtime/Runtimeblackboard.cs
diff --git a/TNodeCore/Runtime/Runtimeblackboard.cs.meta b/TNode/TNodeCore/Runtime/Runtimeblackboard.cs.meta
similarity index 100%
rename from TNodeCore/Runtime/Runtimeblackboard.cs.meta
rename to TNode/TNodeCore/Runtime/Runtimeblackboard.cs.meta
diff --git a/TNodeCore/Runtime/SceneSerializedData.cs b/TNode/TNodeCore/Runtime/SceneSerializedData.cs
similarity index 100%
rename from TNodeCore/Runtime/SceneSerializedData.cs
rename to TNode/TNodeCore/Runtime/SceneSerializedData.cs
diff --git a/TNodeCore/Runtime/SceneSerializedData.cs.meta b/TNode/TNodeCore/Runtime/SceneSerializedData.cs.meta
similarity index 100%
rename from TNodeCore/Runtime/SceneSerializedData.cs.meta
rename to TNode/TNodeCore/Runtime/SceneSerializedData.cs.meta
diff --git a/TNodeCore/RuntimeCache.meta b/TNode/TNodeCore/RuntimeCache.meta
similarity index 100%
rename from TNodeCore/RuntimeCache.meta
rename to TNode/TNodeCore/RuntimeCache.meta
diff --git a/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs b/TNode/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs
similarity index 100%
rename from TNodeCore/RuntimeCache/IModelPropertyAccessor.cs
rename to TNode/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs
diff --git a/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs.meta b/TNode/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs.meta
similarity index 100%
rename from TNodeCore/RuntimeCache/IModelPropertyAccessor.cs.meta
rename to TNode/TNodeCore/RuntimeCache/IModelPropertyAccessor.cs.meta
diff --git a/TNodeCore/RuntimeCache/RuntimeCache.cs b/TNode/TNodeCore/RuntimeCache/RuntimeCache.cs
similarity index 99%
rename from TNodeCore/RuntimeCache/RuntimeCache.cs
rename to TNode/TNodeCore/RuntimeCache/RuntimeCache.cs
index d068018..8d0a3e6 100644
--- a/TNodeCore/RuntimeCache/RuntimeCache.cs
+++ b/TNode/TNodeCore/RuntimeCache/RuntimeCache.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
-using PlasticPipe.PlasticProtocol.Messages;
using TNodeCore.Attribute;
using TNodeCore.Models;
using TNodeCore.Runtime.Interfaces;
diff --git a/TNodeCore/RuntimeCache/RuntimeCache.cs.meta b/TNode/TNodeCore/RuntimeCache/RuntimeCache.cs.meta
similarity index 100%
rename from TNodeCore/RuntimeCache/RuntimeCache.cs.meta
rename to TNode/TNodeCore/RuntimeCache/RuntimeCache.cs.meta
diff --git a/TNodeCore/TNodeCore.asmdef b/TNode/TNodeCore/TNodeCore.asmdef
similarity index 100%
rename from TNodeCore/TNodeCore.asmdef
rename to TNode/TNodeCore/TNodeCore.asmdef
diff --git a/TNodeCore/TNodeCore.asmdef.meta b/TNode/TNodeCore/TNodeCore.asmdef.meta
similarity index 100%
rename from TNodeCore/TNodeCore.asmdef.meta
rename to TNode/TNodeCore/TNodeCore.asmdef.meta
diff --git a/TNodeGraphViewImpl.meta b/TNode/TNodeGraphViewImpl.meta
similarity index 100%
rename from TNodeGraphViewImpl.meta
rename to TNode/TNodeGraphViewImpl.meta
diff --git a/TNodeGraphViewImpl/Editor.meta b/TNode/TNodeGraphViewImpl/Editor.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor.meta
rename to TNode/TNodeGraphViewImpl/Editor.meta
diff --git a/TNodeGraphViewImpl/Editor/Cache.meta b/TNode/TNodeGraphViewImpl/Editor/Cache.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Cache.meta
rename to TNode/TNodeGraphViewImpl/Editor/Cache.meta
diff --git a/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs b/TNode/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs
rename to TNode/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs
diff --git a/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs.meta b/TNode/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/Cache/NodeEditorExtensions.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardField.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/BlackboardProperty/BlackboardProperty.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/DefaultGraphBlackboardView.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardPropertyField.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs
diff --git a/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs.meta b/TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/GraphBlackboard/GraphBlackboardView.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/Inspector.meta b/TNode/TNodeGraphViewImpl/Editor/Inspector.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Inspector.meta
rename to TNode/TNodeGraphViewImpl/Editor/Inspector.meta
diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs b/TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs
rename to TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs
diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs.meta b/TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspector.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs b/TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs
rename to TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs
diff --git a/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs.meta b/TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/Inspector/NodeInspectorInNode.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView.meta b/TNode/TNodeGraphViewImpl/Editor/NodeGraphView.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeGraphView.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeGraphView.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs b/TNode/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
rename to TNode/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs.meta b/TNode/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeGraphView/DataGraphView.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs b/TNode/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs
rename to TNode/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs
diff --git a/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs.meta b/TNode/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeGraphView/SimpleGraphSubWindow.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeViews.meta b/TNode/TNodeGraphViewImpl/Editor/NodeViews.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs b/TNode/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs.meta b/TNode/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews/DefaultNodeView.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs b/TNode/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs.meta b/TNode/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews/DragNodeView.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs b/TNode/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs
diff --git a/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs.meta b/TNode/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/NodeViews/NodeView.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/Resources.meta b/TNode/TNodeGraphViewImpl/Editor/Resources.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources.meta
rename to TNode/TNodeGraphViewImpl/Editor/Resources.meta
diff --git a/TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss b/TNode/TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss
rename to TNode/TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss
diff --git a/TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss.meta b/TNode/TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss.meta
rename to TNode/TNodeGraphViewImpl/Editor/Resources/DragNodeStyle.uss.meta
diff --git a/TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss b/TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss
rename to TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss
diff --git a/TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss.meta b/TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss.meta
rename to TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewBackground.uss.meta
diff --git a/TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss b/TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss
rename to TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss
diff --git a/TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss.meta b/TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss.meta
rename to TNode/TNodeGraphViewImpl/Editor/Resources/GraphViewPropertyField.uss.meta
diff --git a/TNodeGraphViewImpl/Editor/Search.meta b/TNode/TNodeGraphViewImpl/Editor/Search.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Search.meta
rename to TNode/TNodeGraphViewImpl/Editor/Search.meta
diff --git a/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs b/TNode/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs
rename to TNode/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs
diff --git a/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs.meta b/TNode/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/Search/BlackboardSearchWindowProvider.cs.meta
diff --git a/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs b/TNode/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs
rename to TNode/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs
diff --git a/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs.meta b/TNode/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs.meta
similarity index 100%
rename from TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs.meta
rename to TNode/TNodeGraphViewImpl/Editor/Search/NodeSearchWindowProvider.cs.meta