1
0
mirror of https://github.com/Siccity/xNode.git synced 2026-03-26 22:49:02 +08:00
xNode/Samples~/LogicToy/Editor/LogicNodeEditor.cs
Wang Cong 7b480b6242 changed: move folder Examples into Samples~
In Package Manager UI 2.0 (compatible with Unity 2019.1), you can include samples in a package.
    https://forum.unity.com/threads/samples-in-packages-manual-setup.623080/
2019-10-21 11:37:56 +08:00

41 lines
1.2 KiB
C#

using UnityEditor;
using UnityEngine;
using XNode;
using XNode.Examples.LogicToy;
namespace XNodeEditor.Examples.LogicToy {
[CustomNodeEditor(typeof(LogicNode))]
public class LogicNodeEditor : NodeEditor {
private LogicNode node;
private LogicGraphEditor graphEditor;
public override void OnHeaderGUI() {
// Initialization
if (node == null) {
node = target as LogicNode;
graphEditor = NodeGraphEditor.GetEditor(target.graph, window) as LogicGraphEditor;
}
base.OnHeaderGUI();
Rect dotRect = GUILayoutUtility.GetLastRect();
dotRect.size = new Vector2(16, 16);
dotRect.y += 6;
GUI.color = graphEditor.GetLerpColor(Color.red, Color.green, node, node.led);
GUI.DrawTexture(dotRect, NodeEditorResources.dot);
GUI.color = Color.white;
}
public override void OnBodyGUI() {
NodePort input = target.GetPort("input");
NodePort output = target.GetPort("output");
GUILayout.BeginHorizontal();
if (input != null) NodeEditorGUILayout.PortField(GUIContent.none, input, GUILayout.MinWidth(0));
if (output != null) NodeEditorGUILayout.PortField(GUIContent.none, output, GUILayout.MinWidth(0));
GUILayout.EndHorizontal();
EditorGUIUtility.labelWidth = 60;
base.OnBodyGUI();
}
}
}