refactor:Build TNodeCore

main
taoria 3 years ago
parent 1738d00b8c
commit fb19efe0d2
  1. 3
      Sample/MathGraph/Editor/MathGraphView.cs
  2. 3
      Sample/MathGraph/MathGraph.cs
  3. 10
      TNode/Editor/Serialization/BlackboardDataWrapper.cs
  4. 28
      TNode/Runtime/RuntimeGraph.cs
  5. 0
      TNodeCore.meta
  6. 0
      TNodeCore/Attribute.meta
  7. 2
      TNodeCore/Attribute/DisableOnInspector.cs
  8. 0
      TNodeCore/Attribute/DisableOnInspector.cs.meta
  9. 5
      TNodeCore/Attribute/GraphUsageAttribute.cs
  10. 0
      TNodeCore/Attribute/GraphUsageAttribute.cs.meta
  11. 4
      TNodeCore/Attribute/NodeAttribute.cs
  12. 0
      TNodeCore/Attribute/NodeAttribute.cs.meta
  13. 0
      TNodeCore/Attribute/Ports.meta
  14. 2
      TNodeCore/Attribute/Ports/BatchInputAttribute.cs
  15. 0
      TNodeCore/Attribute/Ports/BatchInputAttribute.cs.meta
  16. 3
      TNodeCore/Attribute/Ports/BatchOutputAttribute.cs
  17. 0
      TNodeCore/Attribute/Ports/BatchOutputAttribute.cs.meta
  18. 2
      TNodeCore/Attribute/Ports/InputAttribute.cs
  19. 0
      TNodeCore/Attribute/Ports/InputAttribute.cs.meta
  20. 2
      TNodeCore/Attribute/Ports/OutputAttribute.cs
  21. 0
      TNodeCore/Attribute/Ports/OutputAttribute.cs.meta
  22. 2
      TNodeCore/Attribute/Ports/PortAttribute.cs
  23. 0
      TNodeCore/Attribute/Ports/PortAttribute.cs.meta
  24. 2
      TNodeCore/Attribute/ShowInNodeViewAttribute.cs
  25. 0
      TNodeCore/Attribute/ShowInNodeViewAttribute.cs.meta
  26. 4
      TNodeCore/Attribute/ViewComponentAttribute.cs
  27. 0
      TNodeCore/Attribute/ViewComponentAttribute.cs.meta
  28. 3
      TNodeCore/DataWrapper.cs
  29. 0
      TNodeCore/DataWrapper.cs.meta
  30. 0
      TNodeCore/Editor.meta
  31. 0
      TNodeCore/Editor/Blackboard.meta
  32. 7
      TNodeCore/Editor/Blackboard/IBlackboardView.cs
  33. 0
      TNodeCore/Editor/Blackboard/IBlackboardView.cs.meta
  34. 0
      TNodeCore/Editor/EditorPersistence.meta
  35. 2
      TNodeCore/Editor/EditorPersistence/GraphEditorData.cs
  36. 0
      TNodeCore/Editor/EditorPersistence/GraphEditorData.cs.meta
  37. 2
      TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs
  38. 0
      TNodeCore/Editor/EditorPersistence/GraphElementEditorData.cs.meta
  39. 2
      TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs
  40. 0
      TNodeCore/Editor/EditorPersistence/IGraphViewPersistence.cs.meta
  41. 2
      TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs
  42. 0
      TNodeCore/Editor/EditorPersistence/SubWindowEditorData.cs.meta
  43. 0
      TNodeCore/Editor/Inspector.meta
  44. 5
      TNodeCore/Editor/Inspector/INodeDataBinding.cs
  45. 0
      TNodeCore/Editor/Inspector/INodeDataBinding.cs.meta
  46. 4
      TNodeCore/Editor/Inspector/INodeDataBindingBase.cs
  47. 0
      TNodeCore/Editor/Inspector/INodeDataBindingBase.cs.meta
  48. 0
      TNodeCore/Editor/NodeGraphView.meta
  49. 4
      TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs
  50. 0
      TNodeCore/Editor/NodeGraphView/IBaseDataGraphView.cs.meta
  51. 4
      TNodeCore/Editor/NodeGraphView/IDataGraphView.cs
  52. 0
      TNodeCore/Editor/NodeGraphView/IDataGraphView.cs.meta
  53. 3
      TNodeCore/Editor/PropertyDrawer.meta
  54. 60
      TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs
  55. 3
      TNodeCore/Editor/PropertyDrawer/PropertyDrawer.cs.meta
  56. 0
      TNodeCore/Editor/Resources.meta
  57. 0
      TNodeCore/Editor/Resources/DefaultNodeData.asset
  58. 0
      TNodeCore/Editor/Resources/DefaultNodeData.asset.meta
  59. 0
      TNodeCore/Editor/Resources/GraphEditor.uss
  60. 0
      TNodeCore/Editor/Resources/GraphEditor.uss.meta
  61. 0
      TNodeCore/Editor/Resources/GraphEditor.uxml
  62. 0
      TNodeCore/Editor/Resources/GraphEditor.uxml.meta
  63. 0
      TNodeCore/Editor/Resources/GraphViewBackground.uss
  64. 0
      TNodeCore/Editor/Resources/GraphViewBackground.uss.meta
  65. 0
      TNodeCore/Editor/Resources/NodeInspector.uss
  66. 0
      TNodeCore/Editor/Resources/NodeInspector.uss.meta
  67. 0
      TNodeCore/Editor/Resources/NodeInspector.uxml
  68. 0
      TNodeCore/Editor/Resources/NodeInspector.uxml.meta
  69. 0
      TNodeCore/Editor/Resources/ScriptTemplates.meta
  70. 0
      TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt
  71. 0
      TNodeCore/Editor/Resources/ScriptTemplates/NewGraph.cs.txt.meta
  72. 0
      TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt
  73. 0
      TNodeCore/Editor/Resources/ScriptTemplates/NewGraphEditor.cs.txt.meta
  74. 0
      TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt
  75. 0
      TNodeCore/Editor/Resources/ScriptTemplates/NewGraphView.cs.txt.meta
  76. 0
      TNodeCore/Editor/Serialization.meta
  77. 7
      TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs
  78. 0
      TNodeCore/Editor/Serialization/BlackboardDataWrapper.cs.meta
  79. 6
      TNodeCore/Editor/Serialization/NodeDataWrapper.cs
  80. 0
      TNodeCore/Editor/Serialization/NodeDataWrapper.cs.meta
  81. 0
      TNodeCore/Editor/Tools.meta
  82. 0
      TNodeCore/Editor/Tools/GraphEditorCreator.meta
  83. 4
      TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs
  84. 0
      TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.cs.meta
  85. 0
      TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss
  86. 0
      TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uss.meta
  87. 0
      TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml
  88. 0
      TNodeCore/Editor/Tools/GraphEditorCreator/GraphEditorCreator.uxml.meta
  89. 2
      TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs
  90. 0
      TNodeCore/Editor/Tools/GraphEditorCreator/SourceGeneratorForGraphEditor.cs.meta
  91. 0
      TNodeCore/Editor/Tools/NodeCreator.meta
  92. 4
      TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs
  93. 0
      TNodeCore/Editor/Tools/NodeCreator/NodeCreator.cs.meta
  94. 0
      TNodeCore/Models.meta
  95. 4
      TNodeCore/Models/BlackboardData.cs
  96. 0
      TNodeCore/Models/BlackboardData.cs.meta
  97. 10
      TNodeCore/Models/BlackboardDragNodeData.cs
  98. 0
      TNodeCore/Models/BlackboardDragNodeData.cs.meta
  99. 4
      TNodeCore/Models/GraphData.cs
  100. 0
      TNodeCore/Models/GraphData.cs.meta
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,5 +1,4 @@
using TNode.Models;
using TNode.Attribute;
using TNodeCore.Attribute;
using TNodeGraphViewImpl.Editor.NodeGraphView;
[ViewComponent]

@ -1,7 +1,8 @@
using TNode.Models;
using UnityEngine;
using UnityEditor;
using System;
using TNodeCore.Models;
[CreateAssetMenu(fileName = "New MathGraph", menuName = "TNode/MathGraph")]
[Serializable]
public class MathGraph : GraphData{

@ -1,10 +0,0 @@
using System;
using System.Collections.Generic;
using TNode.Models;
using UnityEngine;
namespace TNode.Editor.Serialization{
public class BlackboardDataWrapper:DataWrapper<BlackboardDataWrapper,BlackboardData>{
}
}

@ -1,28 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using TNode.Models;
using UnityEngine;
namespace TNode.Runtime{
public class RuntimeGraph:MonoBehaviour{
public GraphData graphData;
public SortedSet<RuntimeNode> _sortedSet;
public void Start(){
//iterate through all nodes and add them to the sorted set
foreach (var node in graphData.NodeDictionary.Values){
}
}
public void StartProcessNode(ProcessingStrategy strategy, RuntimeNode entry){
}
}
public enum ProcessingStrategy{
BreadthFirst,
DepthFirst
}
}

@ -1,6 +1,6 @@
using System;
namespace TNode.Attribute{
namespace TNodeCore.Attribute{
/// <summary>
/// Use this attribute to mark a field as disabled.An disable field will not be edit by the inspector.
/// </summary>

@ -1,9 +1,8 @@
using System;
using JetBrains.Annotations;
using TNode.Models;
using Unity.VisualScripting;
using TNodeCore.Models;
namespace TNode.Attribute{
namespace TNodeCore.Attribute{
/// <summary>
/// Use this attribute to claim the usage of a type derived IModel IModel
/// it can be applied to the same node multiple times.

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using TNode.Models;
using TNodeCore.Models;
namespace TNode.Attribute{
namespace TNodeCore.Attribute{
[MeansImplicitUse]
[BaseTypeRequired(typeof(NodeData))]

@ -1,4 +1,4 @@
namespace TNode.Attribute.Ports{
namespace TNodeCore.Attribute.Ports{
public class BatchInputAttribute{
}

@ -1,7 +1,6 @@
using System;
using UnityEditor.Experimental.GraphView;
namespace TNode.Attribute.Ports{
namespace TNodeCore.Attribute.Ports{
/// <summary>
/// Batch out port attribute could specify a batch out port,allowing large scale calculation.
/// </summary>

@ -1,7 +1,7 @@
using System;
using JetBrains.Annotations;
namespace TNode.Attribute.Ports{
namespace TNodeCore.Attribute.Ports{
[MeansImplicitUse]
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
public class InputAttribute : PortAttribute{

@ -1,4 +1,4 @@
namespace TNode.Attribute.Ports{
namespace TNodeCore.Attribute.Ports{
public class OutputAttribute:PortAttribute{

@ -1,7 +1,7 @@
using System;
using JetBrains.Annotations;
namespace TNode.Attribute.Ports{
namespace TNodeCore.Attribute.Ports{
public enum PortNameHandling{
Auto,

@ -1,6 +1,6 @@
using System;
namespace TNode.Attribute{
namespace TNodeCore.Attribute{
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = false)]
public class ShowInNodeViewAttribute:System.Attribute{

@ -1,9 +1,7 @@
using System;
using System.Diagnostics.CodeAnalysis;
using JetBrains.Annotations;
namespace TNode.Attribute{
namespace TNodeCore.Attribute{
//Check if the ide is Rider

@ -1,9 +1,8 @@
using System;
using System.Collections.Generic;
using TNode.Models;
using UnityEngine;
namespace TNode.Editor.Serialization{
namespace TNodeCore{
[Serializable]
public class DataWrapper<TWrapper,TData>:ScriptableObject where TWrapper:DataWrapper<TWrapper,TData>,new(){
[SerializeReference]

@ -1,9 +1,8 @@
using TNode.Editor.NodeGraphView;
using TNode.Models;
using TNodeCore.Editor.NodeGraphView;
using TNodeCore.Models;
using UnityEditor;
using UnityEngine;
namespace TNode.Editor.Blackboard{
namespace TNodeCore.Editor.Blackboard{
public interface IBlackboardView{
public BlackboardData GetBlackboardData();
public void SetBlackboardData(BlackboardData data);

@ -1,7 +1,7 @@
using System.Collections.Generic;
using UnityEngine;
namespace TNode.Editor.EditorPersistence{
namespace TNodeCore.Editor.EditorPersistence{
[CreateAssetMenu(fileName = "Graph Editor Data", menuName = "TNode/Graph Editor Data")]
public class GraphEditorData:ScriptableObject{

@ -1,7 +1,7 @@
using System;
using UnityEngine;
namespace TNode.Editor.EditorPersistence{
namespace TNodeCore.Editor.EditorPersistence{
[Serializable]
public class GraphElementEditorData{

@ -1,4 +1,4 @@
namespace TNode.Editor.EditorPersistence{
namespace TNodeCore.Editor.EditorPersistence{
public interface IGraphViewPersistence{
public string GetPersistenceId();
public void ResetPos(GraphEditorData editorData);

@ -1,4 +1,4 @@
namespace TNode.Editor.EditorPersistence{
namespace TNodeCore.Editor.EditorPersistence{
public class SubWindowEditorData{
}

@ -1,7 +1,4 @@
using TNode.Models;
using UnityEngine;
namespace TNode.Editor.Inspector{
namespace TNodeCore.Editor.Inspector{
public interface INodeDataBinding<out T>:INodeDataBindingBase{

@ -1,6 +1,6 @@
using TNode.Models;
using TNodeCore.Models;
namespace TNode.Editor.Inspector{
namespace TNodeCore.Editor.Inspector{
public interface INodeDataBindingBase{
public string BindingPath{ get; set; }
public NodeData BindingNodeData{ get; set; }

@ -1,7 +1,7 @@
using TNode.Models;
using TNodeCore.Models;
using UnityEngine;
namespace TNode.Editor.NodeGraphView{
namespace TNodeCore.Editor.NodeGraphView{
public interface IBaseDataGraphView{
public void AddTNode(NodeData nodeData, Rect rect);
public void RemoveTNode(NodeData nodeData);

@ -1,6 +1,6 @@
using TNode.Models;
using TNodeCore.Models;
namespace TNode.Editor.NodeGraphView{
namespace TNodeCore.Editor.NodeGraphView{
public interface IDataGraphView<T> : IBaseDataGraphView where T:GraphData{
public T Data{ get; set; }
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a117c02cea8248beadd23fb13f77c2d8
timeCreated: 1657878045

@ -0,0 +1,60 @@

// namespace TNode.Editor{
// [CustomPropertyDrawer(typeof(BlackboardData))]
// public class BlackboardDataPropertyDrawer:PropertyDrawer{
// public float height = 0;
// public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
// {
// // Using BeginProperty / EndProperty on the parent property means that
// // prefab override logic works on the entire property.
// var to = property.serializedObject.targetObject;
//
// if (to is RuntimeGraph runtimeGraph){
// var blackboardData = property.boxedValue;
// var graphType = runtimeGraph.graphData.GetType();
//
// Debug.Log(blackboardData);
//
// if (blackboardData == null || blackboardData.GetType()==typeof(BlackboardData))
// { blackboardData= NodeEditorExtensions.GetAppropriateBlackboardData(graphType);
// property.boxedValue = blackboardData;
//
// }
//
//
// var posy = position.y;
// EditorGUI.BeginProperty(position, label, property);
//
// // Draw label
// EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
// height = EditorGUIUtility.singleLineHeight;
//
// // Don't make child fields be indented
// var indent = EditorGUI.indentLevel;
// EditorGUI.indentLevel = 0;
//
// //find the blackboard data
//
// var blackboardDataFields = blackboardData.GetType().GetFields();
// posy += EditorGUIUtility.singleLineHeight;
// foreach (var blackboardDataField in blackboardDataFields){
// var newPosition = new Rect(position.x, posy, position.width, EditorGUIUtility.singleLineHeight);
// EditorGUI.PropertyField(newPosition, property.FindPropertyRelative(blackboardDataField.Name), new GUIContent(blackboardDataField.Name));
// posy += EditorGUIUtility.singleLineHeight;
// height+=EditorGUIUtility.singleLineHeight;
// }
//
// // Set indent back to what it was
// EditorGUI.indentLevel = indent;
//
// EditorGUI.EndProperty();
// }
//
//
// }
// public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
// {
// return base.GetPropertyHeight(property, label) + height;
// }
// }
// }

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e731c94a155641f39da7e1eb47f80f01
timeCreated: 1657878003

@ -0,0 +1,7 @@
using TNodeCore.Models;
namespace TNodeCore.Editor.Serialization{
public class BlackboardDataWrapper:DataWrapper<BlackboardDataWrapper,BlackboardData>{
}
}

@ -1,11 +1,9 @@
using System;
using System.Collections.Generic;
using TNode.Models;
using TNodeCore.Models;
using UnityEngine;
using UnityEngine.Serialization;
namespace TNode.Editor.Serialization{
namespace TNodeCore.Editor.Serialization{
[Obsolete]
public class NodeDataWrapper<T> : ScriptableObject where T : NodeData{

@ -1,6 +1,6 @@
using System.IO;
using System.Text.RegularExpressions;
using TNode.Editor.EditorPersistence;
using TNodeCore.Editor.EditorPersistence;
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
@ -8,7 +8,7 @@ using UnityEngine.UIElements;
//add an attribute right click asset panel and select "TNode/Create/Create New Graph Editor" to call this editor
namespace TNode.Editor.Tools.GraphEditorCreator{
namespace TNodeCore.Editor.Tools.GraphEditorCreator{
public class GraphEditorCreator : EditorWindow
{

@ -1,7 +1,7 @@
using System.Text.RegularExpressions;
using UnityEngine;
namespace TNode.Editor.Tools.GraphEditorCreator{
namespace TNodeCore.Editor.Tools.GraphEditorCreator{
public class SourceGeneratorForGraphEditor{
private readonly Regex Regex = new System.Text.RegularExpressions.Regex("^[a-zA-Z0-9_]+$");
public string GenerateGraphEditor(string editorClassName,string graphClassName,string templateName="NewGraphEditor.cs"){

@ -1,7 +1,7 @@
using System;
using TNode.Models;
using TNodeCore.Models;
namespace TNode.Editor.Tools.NodeCreator{
namespace TNodeCore.Editor.Tools.NodeCreator{
public static class NodeCreator{
/// <summary>

@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
using Object = UnityEngine.Object;
namespace TNode.Models{
namespace TNodeCore.Models{
/// <summary>
/// Black board data can store scene data
/// </summary>

@ -1,13 +1,9 @@
using System;
using System.Runtime.InteropServices;
using Newtonsoft.Json;
using TNode.Attribute;
using TNode.Attribute.Ports;
using TNode.RuntimeCache;
using TNodeCore.Attribute.Ports;
using TNodeCore.RuntimeCache;
using UnityEngine;
using UnityEngine.Serialization;
namespace TNode.Models{
namespace TNodeCore.Models{
[Serializable]
public class BlackboardDragNodeData:NodeData{
public string blackDragData;

@ -1,10 +1,8 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using UnityEngine;
using UnityEngine.Serialization;
namespace TNode.Models{
namespace TNodeCore.Models{
[Serializable]
public class GraphData:ScriptableObject,ISerializationCallbackReceiver{
public Dictionary<string,NodeData> NodeDictionary = new Dictionary<string,NodeData>();

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save