mirror of
https://github.com/Siccity/xNode.git
synced 2025-12-20 09:16:01 +08:00
Unity 5.3 support
This commit is contained in:
parent
9875f8d4f0
commit
f6404e9d9d
@ -24,12 +24,21 @@ namespace XNodeEditor {
|
|||||||
string enumName = "";
|
string enumName = "";
|
||||||
if (property.enumValueIndex >= 0 && property.enumValueIndex < property.enumDisplayNames.Length) enumName = property.enumDisplayNames[property.enumValueIndex];
|
if (property.enumValueIndex >= 0 && property.enumValueIndex < property.enumDisplayNames.Length) enumName = property.enumDisplayNames[property.enumValueIndex];
|
||||||
|
|
||||||
|
#if UNITY_2017_1_OR_NEWER
|
||||||
// Display dropdown
|
// Display dropdown
|
||||||
if (EditorGUI.DropdownButton(position, new GUIContent(enumName), FocusType.Passive)) {
|
if (EditorGUI.DropdownButton(position, new GUIContent(enumName), FocusType.Passive)) {
|
||||||
// Position is all wrong if we show the dropdown during the node draw phase.
|
// Position is all wrong if we show the dropdown during the node draw phase.
|
||||||
// Instead, add it to onLateGUI to display it later.
|
// Instead, add it to onLateGUI to display it later.
|
||||||
NodeEditorWindow.current.onLateGUI += () => ShowContextMenuAtMouse(property);
|
NodeEditorWindow.current.onLateGUI += () => ShowContextMenuAtMouse(property);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
// Display dropdown
|
||||||
|
if (GUI.Button(position, new GUIContent(enumName), "MiniPopup")) {
|
||||||
|
// Position is all wrong if we show the dropdown during the node draw phase.
|
||||||
|
// Instead, add it to onLateGUI to display it later.
|
||||||
|
NodeEditorWindow.current.onLateGUI += () => ShowContextMenuAtMouse(property);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
EditorGUI.EndProperty();
|
EditorGUI.EndProperty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -289,7 +289,7 @@ namespace XNodeEditor {
|
|||||||
case EventType.KeyDown:
|
case EventType.KeyDown:
|
||||||
if (EditorGUIUtility.editingTextField) break;
|
if (EditorGUIUtility.editingTextField) break;
|
||||||
else if (e.keyCode == KeyCode.F) Home();
|
else if (e.keyCode == KeyCode.F) Home();
|
||||||
if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX) {
|
if (IsMac()) {
|
||||||
if (e.keyCode == KeyCode.Return) RenameSelectedNode();
|
if (e.keyCode == KeyCode.Return) RenameSelectedNode();
|
||||||
} else {
|
} else {
|
||||||
if (e.keyCode == KeyCode.F2) RenameSelectedNode();
|
if (e.keyCode == KeyCode.F2) RenameSelectedNode();
|
||||||
@ -300,7 +300,7 @@ namespace XNodeEditor {
|
|||||||
if (e.commandName == "SoftDelete") {
|
if (e.commandName == "SoftDelete") {
|
||||||
if (e.type == EventType.ExecuteCommand) RemoveSelectedNodes();
|
if (e.type == EventType.ExecuteCommand) RemoveSelectedNodes();
|
||||||
e.Use();
|
e.Use();
|
||||||
} else if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX && e.commandName == "Delete") {
|
} else if (IsMac() && e.commandName == "Delete") {
|
||||||
if (e.type == EventType.ExecuteCommand) RemoveSelectedNodes();
|
if (e.type == EventType.ExecuteCommand) RemoveSelectedNodes();
|
||||||
e.Use();
|
e.Use();
|
||||||
} else if (e.commandName == "Duplicate") {
|
} else if (e.commandName == "Duplicate") {
|
||||||
@ -319,6 +319,14 @@ namespace XNodeEditor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsMac() {
|
||||||
|
#if UNITY_2017_1_OR_NEWER
|
||||||
|
return SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX;
|
||||||
|
#else
|
||||||
|
return SystemInfo.operatingSystem.StartsWith("Mac");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
private void RecalculateDragOffsets(Event current) {
|
private void RecalculateDragOffsets(Event current) {
|
||||||
dragOffset = new Vector2[Selection.objects.Length + selectedReroutes.Count];
|
dragOffset = new Vector2[Selection.objects.Length + selectedReroutes.Count];
|
||||||
// Selected nodes
|
// Selected nodes
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user