mirror of
https://github.com/Siccity/xNode.git
synced 2026-02-04 22:34:54 +08:00
Fixed group resizing code to not jitter anymore.
Can now adjust color of group node resize icon. Changed header label rendering to always be vertically centered. Changed group node style. Changed rename text field style.
This commit is contained in:
parent
ada6d85c51
commit
c58648d663
@ -31,7 +31,7 @@ namespace XNodeEditor
|
|||||||
|
|
||||||
public virtual void OnHeaderGUI()
|
public virtual void OnHeaderGUI()
|
||||||
{
|
{
|
||||||
GUILayout.Label(target.name, NodeEditorResources.styles.nodeHeaderLabel, GUILayout.Height(30));
|
GUILayout.Label(target.name, NodeEditorResources.styles.nodeHeaderLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary> Draws standard field editors for all public fields </summary>
|
/// <summary> Draws standard field editors for all public fields </summary>
|
||||||
|
|||||||
@ -918,7 +918,8 @@ namespace XNodeEditor
|
|||||||
width = 200;
|
width = 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rect windowRect = new Rect(nodePos, new Vector2(width / zoom, 30 / zoom));
|
Rect windowRect = new Rect(nodePos, new Vector2(width / zoom, NodeEditor.GetEditor(node, current)
|
||||||
|
.GetHeaderStyle().fixedHeight / zoom));
|
||||||
return windowRect.Contains(mousePos);
|
return windowRect.Contains(mousePos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -688,12 +688,12 @@ namespace XNodeEditor
|
|||||||
|
|
||||||
if (selected)
|
if (selected)
|
||||||
{
|
{
|
||||||
GUIStyle style = new GUIStyle(nodeEditor.GetBodyStyle());
|
GUIStyle styleBody = new GUIStyle(nodeEditor.GetBodyStyle());
|
||||||
GUIStyle highlightStyle = new GUIStyle(nodeEditor.GetBodyHighlightStyle());
|
GUIStyle highlightStyle = new GUIStyle(nodeEditor.GetBodyHighlightStyle());
|
||||||
highlightStyle.padding = style.padding;
|
highlightStyle.padding = styleBody.padding;
|
||||||
style.padding = new RectOffset();
|
styleBody.padding = new RectOffset();
|
||||||
GUI.color = nodeEditor.GetTint();
|
GUI.color = nodeEditor.GetTint();
|
||||||
GUILayout.BeginVertical(style);
|
GUILayout.BeginVertical(styleBody);
|
||||||
GUI.color = NodeEditorPreferences.GetSettings().highlightColor;
|
GUI.color = NodeEditorPreferences.GetSettings().highlightColor;
|
||||||
GUILayout.BeginVertical(new GUIStyle(highlightStyle));
|
GUILayout.BeginVertical(new GUIStyle(highlightStyle));
|
||||||
}
|
}
|
||||||
@ -706,22 +706,21 @@ namespace XNodeEditor
|
|||||||
EditorGUI.BeginChangeCheck();
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|
||||||
//Draw node contents
|
//Draw node contents
|
||||||
|
GUI.color = nodeEditor.GetHeaderColor();
|
||||||
|
GUIStyle styleHeader = new GUIStyle(nodeEditor.GetHeaderStyle());
|
||||||
|
GUILayout.BeginVertical(styleHeader);
|
||||||
|
GUI.color = guiColor;
|
||||||
if (currentActivity == NodeActivity.Renaming && Selection.activeObject == node)
|
if (currentActivity == NodeActivity.Renaming && Selection.activeObject == node)
|
||||||
{
|
{
|
||||||
RenameTextField.current.DrawRenameTextField();
|
RenameTextField.current.DrawRenameTextField();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GUI.color = nodeEditor.GetHeaderColor();
|
|
||||||
GUIStyle style = new GUIStyle(nodeEditor.GetHeaderStyle());
|
|
||||||
GUILayout.BeginVertical(style);
|
|
||||||
|
|
||||||
GUI.color = guiColor;
|
|
||||||
nodeEditor.OnHeaderGUI();
|
nodeEditor.OnHeaderGUI();
|
||||||
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
GUI.color = nodeEditor.GetBodyColor();
|
GUI.color = nodeEditor.GetBodyColor();
|
||||||
GUIStyle bodyStyle = new GUIStyle(nodeEditor.GetBodyStyle());
|
GUIStyle bodyStyle = new GUIStyle(nodeEditor.GetBodyStyle());
|
||||||
GUILayout.BeginVertical(bodyStyle);
|
GUILayout.BeginVertical(bodyStyle);
|
||||||
|
|||||||
@ -71,6 +71,8 @@ namespace XNodeEditor
|
|||||||
public Color32 bgPortsColor = new Color32(65, 67, 70, 255);
|
public Color32 bgPortsColor = new Color32(65, 67, 70, 255);
|
||||||
public Color32 bgBodyColor = new Color32(65, 67, 70, 255);
|
public Color32 bgBodyColor = new Color32(65, 67, 70, 255);
|
||||||
public Color32 highlightColor = new Color32(255, 255, 255, 255);
|
public Color32 highlightColor = new Color32(255, 255, 255, 255);
|
||||||
|
public Color32 resizeIconColor = new Color32(255, 255, 255, 26);
|
||||||
|
public Color32 resizeIconHoverColor = new Color32(255, 255, 255, 100);
|
||||||
public bool gridSnap = true;
|
public bool gridSnap = true;
|
||||||
public bool autoSave = true;
|
public bool autoSave = true;
|
||||||
public bool openOnCreate = true;
|
public bool openOnCreate = true;
|
||||||
@ -276,6 +278,9 @@ namespace XNodeEditor
|
|||||||
settings.bgHeaderColor = EditorGUILayout.ColorField("Header Background", settings.bgHeaderColor);
|
settings.bgHeaderColor = EditorGUILayout.ColorField("Header Background", settings.bgHeaderColor);
|
||||||
settings.bgPortsColor = EditorGUILayout.ColorField("Ports Background", settings.bgPortsColor);
|
settings.bgPortsColor = EditorGUILayout.ColorField("Ports Background", settings.bgPortsColor);
|
||||||
settings.bgBodyColor = EditorGUILayout.ColorField("Body Background", settings.bgBodyColor);
|
settings.bgBodyColor = EditorGUILayout.ColorField("Body Background", settings.bgBodyColor);
|
||||||
|
settings.resizeIconColor = EditorGUILayout.ColorField("Resize Icon Color", settings.resizeIconColor);
|
||||||
|
settings.resizeIconHoverColor =
|
||||||
|
EditorGUILayout.ColorField("Resize Icon Hover Color", settings.resizeIconHoverColor);
|
||||||
settings.highlightColor = EditorGUILayout.ColorField("Selection", settings.highlightColor);
|
settings.highlightColor = EditorGUILayout.ColorField("Selection", settings.highlightColor);
|
||||||
EditorGUILayout.Space();
|
EditorGUILayout.Space();
|
||||||
settings.noodlePath = (NoodlePath)EditorGUILayout.EnumPopup("Noodle path", settings.noodlePath);
|
settings.noodlePath = (NoodlePath)EditorGUILayout.EnumPopup("Noodle path", settings.noodlePath);
|
||||||
|
|||||||
@ -64,14 +64,15 @@ namespace XNodeEditor
|
|||||||
nodeHeaderLabel = new GUIStyle();
|
nodeHeaderLabel = new GUIStyle();
|
||||||
nodeHeaderLabel.alignment = TextAnchor.MiddleCenter;
|
nodeHeaderLabel.alignment = TextAnchor.MiddleCenter;
|
||||||
nodeHeaderLabel.fontStyle = FontStyle.Bold;
|
nodeHeaderLabel.fontStyle = FontStyle.Bold;
|
||||||
|
nodeHeaderLabel.stretchHeight = true;
|
||||||
nodeHeaderLabel.normal.textColor = Color.white;
|
nodeHeaderLabel.normal.textColor = Color.white;
|
||||||
|
|
||||||
nodeHeaderLabelRename = new GUIStyle(GUI.skin.textField);
|
nodeHeaderLabelRename = new GUIStyle(GUI.skin.textField);
|
||||||
nodeHeaderLabelRename.alignment = TextAnchor.MiddleCenter;
|
nodeHeaderLabelRename.alignment = TextAnchor.MiddleCenter;
|
||||||
nodeHeaderLabelRename.fontStyle = FontStyle.Bold;
|
nodeHeaderLabelRename.fontStyle = FontStyle.Bold;
|
||||||
|
nodeHeaderLabelRename.stretchHeight = true;
|
||||||
nodeHeaderLabelRename.normal.textColor = Color.white;
|
nodeHeaderLabelRename.normal.textColor = Color.white;
|
||||||
nodeHeaderLabelRename.fixedHeight = 18;
|
nodeHeaderLabelRename.margin = new RectOffset(24, 24, 8, 2);
|
||||||
nodeHeaderLabelRename.margin = new RectOffset(5, 5, 10, 8);
|
|
||||||
|
|
||||||
nodePadding = new GUIStyle();
|
nodePadding = new GUIStyle();
|
||||||
nodePadding.padding = new RectOffset(16, 16, 3, 16);
|
nodePadding.padding = new RectOffset(16, 16, 3, 16);
|
||||||
@ -79,8 +80,8 @@ namespace XNodeEditor
|
|||||||
nodeHeader = new GUIStyle();
|
nodeHeader = new GUIStyle();
|
||||||
nodeHeader.normal.background = NodeEditorResources.nodeHeader;
|
nodeHeader.normal.background = NodeEditorResources.nodeHeader;
|
||||||
nodeHeader.border = new RectOffset(32, 32, 16, 0);
|
nodeHeader.border = new RectOffset(32, 32, 16, 0);
|
||||||
// nodeHeader.fixedHeight = 27;
|
nodeHeader.fixedHeight = 28;
|
||||||
nodeHeader.padding = new RectOffset(0, 0, 1, 0);
|
nodeHeader.padding = new RectOffset(0, 0, 6, 0);
|
||||||
// nodeHeader.padding = new RectOffset(16, 16, 3, 16);
|
// nodeHeader.padding = new RectOffset(16, 16, 3, 16);
|
||||||
|
|
||||||
nodePorts = new GUIStyle();
|
nodePorts = new GUIStyle();
|
||||||
|
|||||||
@ -16,6 +16,7 @@ namespace XNodeEditor.NodeGroups
|
|||||||
_corner != null ? _corner : _corner = Resources.Load<Texture2D>("xnode_corner");
|
_corner != null ? _corner : _corner = Resources.Load<Texture2D>("xnode_corner");
|
||||||
private static Texture2D _corner;
|
private static Texture2D _corner;
|
||||||
private bool _isResizing;
|
private bool _isResizing;
|
||||||
|
private bool _isResizeHovering;
|
||||||
private Vector2 _size;
|
private Vector2 _size;
|
||||||
private float _currentHeight;
|
private float _currentHeight;
|
||||||
private Vector2 _draggingOffset;
|
private Vector2 _draggingOffset;
|
||||||
@ -26,17 +27,24 @@ namespace XNodeEditor.NodeGroups
|
|||||||
private const int mouseRectMargin = 30;
|
private const int mouseRectMargin = 30;
|
||||||
|
|
||||||
private GUIStyle headerStyle;
|
private GUIStyle headerStyle;
|
||||||
|
private GUIStyle headerLabelStyle;
|
||||||
|
|
||||||
public override void OnCreate()
|
public override void OnCreate()
|
||||||
{
|
{
|
||||||
_currentHeight = group.height;
|
_currentHeight = group.height;
|
||||||
headerStyle = new GUIStyle(NodeEditorResources.styles.nodeHeaderLabel);
|
headerLabelStyle = new GUIStyle(NodeEditorResources.styles.nodeHeaderLabel);
|
||||||
headerStyle.fontSize = 18;
|
headerLabelStyle.fontSize = 24;
|
||||||
|
|
||||||
|
headerStyle = new GUIStyle(NodeEditorResources.styles.nodeHeader);
|
||||||
|
headerStyle.fixedHeight += 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnHeaderGUI()
|
public override void OnHeaderGUI()
|
||||||
{
|
{
|
||||||
GUILayout.Label(target.name, headerStyle, GUILayout.Height(30));
|
Color initColor = GUI.contentColor;
|
||||||
|
GUI.contentColor = new Color(0.6f, 0.6f, 0.6f, 1.0f);
|
||||||
|
GUILayout.Label(target.name, headerLabelStyle);
|
||||||
|
GUI.contentColor = initColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnBodyGUI()
|
public override void OnBodyGUI()
|
||||||
@ -45,11 +53,37 @@ namespace XNodeEditor.NodeGroups
|
|||||||
Event e = Event.current;
|
Event e = Event.current;
|
||||||
switch (e.type)
|
switch (e.type)
|
||||||
{
|
{
|
||||||
|
case EventType.MouseMove:
|
||||||
|
if (NodeEditorWindow.current.nodeSizes.TryGetValue(target, out _size))
|
||||||
|
{
|
||||||
|
bool initHovering = _isResizeHovering;
|
||||||
|
// Mouse position checking is in node local space
|
||||||
|
Rect lowerRight = new Rect(_size.x - (mouseRectMargin + mouseRectPadding),
|
||||||
|
_size.y - (mouseRectMargin + mouseRectPadding), mouseRectMargin, mouseRectMargin);
|
||||||
|
if (lowerRight.Contains(e.mousePosition))
|
||||||
|
{
|
||||||
|
_isResizeHovering = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_isResizeHovering = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (initHovering != _isResizeHovering)
|
||||||
|
{
|
||||||
|
NodeEditorWindow.current.Repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
case EventType.MouseDrag:
|
case EventType.MouseDrag:
|
||||||
if (_isResizing)
|
if (_isResizing)
|
||||||
{
|
{
|
||||||
group.width = Mathf.Max(200, (int)e.mousePosition.x + (int)_draggingOffset.x + 16);
|
group.width = (int)Mathf.Max(200,
|
||||||
group.height = Mathf.Max(100, (int)e.mousePosition.y + (int)_draggingOffset.y - 34);
|
e.mousePosition.x + _draggingOffset.x + (mouseRectMargin + mouseRectPadding));
|
||||||
|
// magic numbers - otherwise resizing will jump vertically.
|
||||||
|
group.height = (int)Mathf.Max(100,
|
||||||
|
e.mousePosition.y + _draggingOffset.y - (31 + (30 - mouseRectMargin)));
|
||||||
_currentHeight = group.height;
|
_currentHeight = group.height;
|
||||||
NodeEditorWindow.current.Repaint();
|
NodeEditorWindow.current.Repaint();
|
||||||
}
|
}
|
||||||
@ -78,8 +112,7 @@ namespace XNodeEditor.NodeGroups
|
|||||||
if (lowerRight.Contains(e.mousePosition))
|
if (lowerRight.Contains(e.mousePosition))
|
||||||
{
|
{
|
||||||
_isResizing = true;
|
_isResizing = true;
|
||||||
_draggingOffset = _size - e.mousePosition - new Vector2(GetBodyStyle().padding.right,
|
_draggingOffset = lowerRight.position - e.mousePosition;
|
||||||
GetBodyStyle().padding.bottom);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -166,17 +199,23 @@ namespace XNodeEditor.NodeGroups
|
|||||||
}
|
}
|
||||||
|
|
||||||
GUILayout.Space(_currentHeight);
|
GUILayout.Space(_currentHeight);
|
||||||
GUI.DrawTexture(new Rect(group.width - 34, group.height + 16, 24, 24), corner);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnRenameActive()
|
if (NodeEditorWindow.current.nodeSizes.TryGetValue(target, out _size))
|
||||||
{
|
{
|
||||||
_currentHeight += 30 - NodeEditorResources.styles.nodeHeaderLabelRename.fixedHeight -
|
Color initColor = GUI.color;
|
||||||
NodeEditorResources.styles.nodeHeaderLabelRename.margin.top +
|
GUI.color = _isResizeHovering
|
||||||
NodeEditorResources.styles.nodeHeaderLabelRename.margin.bottom / 2;
|
? NodeEditorPreferences.GetSettings().resizeIconHoverColor
|
||||||
|
: NodeEditorPreferences.GetSettings().resizeIconColor;
|
||||||
|
GUI.DrawTexture(
|
||||||
|
new Rect(_size.x - (mouseRectMargin + mouseRectPadding),
|
||||||
|
_size.y - (mouseRectMargin + mouseRectPadding),
|
||||||
|
24,
|
||||||
|
24),
|
||||||
|
corner);
|
||||||
|
GUI.color = initColor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override void OnRenameDeactive()
|
public override void OnRenameDeactive()
|
||||||
{
|
{
|
||||||
_currentHeight = group.height;
|
_currentHeight = group.height;
|
||||||
@ -187,11 +226,16 @@ namespace XNodeEditor.NodeGroups
|
|||||||
return group.width;
|
return group.width;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GUIStyle GetHeaderLabelStyle()
|
public override GUIStyle GetHeaderStyle()
|
||||||
{
|
{
|
||||||
return headerStyle;
|
return headerStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override GUIStyle GetHeaderLabelStyle()
|
||||||
|
{
|
||||||
|
return headerLabelStyle;
|
||||||
|
}
|
||||||
|
|
||||||
public static void AddMouseRect(Rect rect, MouseCursor mouseCursor)
|
public static void AddMouseRect(Rect rect, MouseCursor mouseCursor)
|
||||||
{
|
{
|
||||||
EditorGUIUtility.AddCursorRect(rect, mouseCursor);
|
EditorGUIUtility.AddCursorRect(rect, mouseCursor);
|
||||||
|
|||||||
@ -38,6 +38,10 @@ namespace XNodeEditor
|
|||||||
GUIStyle stylesNodeHeaderRename = NodeEditorResources.styles.nodeHeaderLabelRename;
|
GUIStyle stylesNodeHeaderRename = NodeEditorResources.styles.nodeHeaderLabelRename;
|
||||||
stylesNodeHeaderRename.fontSize =
|
stylesNodeHeaderRename.fontSize =
|
||||||
NodeEditor.GetEditor((Node)target, NodeEditorWindow.current).GetHeaderLabelStyle().fontSize;
|
NodeEditor.GetEditor((Node)target, NodeEditorWindow.current).GetHeaderLabelStyle().fontSize;
|
||||||
|
stylesNodeHeaderRename.fixedHeight = NodeEditor.GetEditor((Node)target, NodeEditorWindow.current)
|
||||||
|
.GetHeaderLabelStyle().fixedHeight;
|
||||||
|
stylesNodeHeaderRename.padding = NodeEditor.GetEditor((Node)target, NodeEditorWindow.current)
|
||||||
|
.GetHeaderLabelStyle().padding;
|
||||||
input = GUILayout.TextField(input, stylesNodeHeaderRename);
|
input = GUILayout.TextField(input, stylesNodeHeaderRename);
|
||||||
EditorGUI.FocusTextInControl(inputControlName);
|
EditorGUI.FocusTextInControl(inputControlName);
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 5.3 KiB |
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0babe8a4377248fcacd576e5da1a27e5
|
guid: d129eb4a5ff1c8a40a23ef0e54de1fa9
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@ -63,16 +63,16 @@ TextureImporter:
|
|||||||
compressionQualitySet: 0
|
compressionQualitySet: 0
|
||||||
textureFormatSet: 0
|
textureFormatSet: 0
|
||||||
ignorePngGamma: 0
|
ignorePngGamma: 0
|
||||||
applyGammaDecoding: 1
|
applyGammaDecoding: 0
|
||||||
swizzle: 50462976
|
swizzle: 50462976
|
||||||
cookieLightType: 2
|
cookieLightType: 0
|
||||||
platformSettings:
|
platformSettings:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
buildTarget: DefaultTexturePlatform
|
buildTarget: DefaultTexturePlatform
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
resizeAlgorithm: 0
|
resizeAlgorithm: 0
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -85,7 +85,7 @@ TextureImporter:
|
|||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
resizeAlgorithm: 0
|
resizeAlgorithm: 0
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 0
|
textureCompression: 1
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -98,7 +98,7 @@ TextureImporter:
|
|||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
resizeAlgorithm: 0
|
resizeAlgorithm: 0
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 0
|
textureCompression: 1
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -111,7 +111,7 @@ TextureImporter:
|
|||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
resizeAlgorithm: 0
|
resizeAlgorithm: 0
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 0
|
textureCompression: 1
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
|
|||||||
BIN
Scripts/Editor/Resources/xnode_corner.xcf
Normal file
BIN
Scripts/Editor/Resources/xnode_corner.xcf
Normal file
Binary file not shown.
7
Scripts/Editor/Resources/xnode_corner.xcf.meta
Normal file
7
Scripts/Editor/Resources/xnode_corner.xcf.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fe6a85593b08b0e41bef27ac9562c228
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
namespace XNode
|
namespace XNode
|
||||||
{
|
{
|
||||||
[NodeColorHeader(0.2f, 0.2f, 0.2f, 0.5f)]
|
[NodeColorHeader(0.1f, 0.1f, 0.1f, 0.35f)]
|
||||||
[NodeColorBody(0.25f, 0.25f, 0.25f, 0.35f)]
|
[NodeColorBody(0.1f, 0.1f, 0.1f, 0.35f)]
|
||||||
[CreateNodeMenu("Group")]
|
[CreateNodeMenu("Group")]
|
||||||
public class NodeGroup : Node
|
public class NodeGroup : Node
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user