public override void UpdateGUI(BaseNode _node, NodeEditorWindow _curWindow) { if (_node.GetNodeType() != NodeType.ROOT_NODE) { Rect nodeRect = _node.GetNodeRect(); Rect tmp = new Rect(); tmp.width = 13f; tmp.height = 13f; float offset = 5f; float centerOfNode = nodeRect.x + (nodeRect.width / 2); float centerOfOutput = tmp.width / 2; tmp.x = centerOfNode - centerOfOutput; tmp.y = nodeRect.y - (tmp.height + offset); m_IORect = tmp; base.UpdateGUI(_node, _curWindow); } }
public override void UpdateView(Rect _editorRect, Rect _percentageRect, Event _e, NodeGraph _nodeGraph) { base.UpdateView(_editorRect, _percentageRect, _e, _nodeGraph); GUILayout.BeginArea(m_viewRect); GUILayout.Space(40); if (_nodeGraph != null) { BaseNode node = _nodeGraph.GetSelectedNode(); if (node != null) { GUILayout.BeginHorizontal(); GUILayout.Space(10); EditorGUILayout.LabelField("Name"); EditorGUILayout.LabelField(node.GetNodeName()); GUILayout.Space(10); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(10); EditorGUILayout.LabelField("Node Type"); EditorGUILayout.LabelField(node.GetNodeType().ToString()); GUILayout.Space(10); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(10); EditorGUILayout.LabelField("Current State"); EditorGUILayout.LabelField(node.GetNodeState().ToString()); GUILayout.Space(10); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(10); node.m_details = (string)EditorGUILayout.TextField( new GUIContent("Details"), node.m_details); GUILayout.Space(10); GUILayout.EndHorizontal(); if (node.GetNodeType() == NodeType.ACTION_NODE) { ActionNode actionNode = ((ActionNode)node); GUILayout.BeginHorizontal(); GUILayout.Space(10); actionNode.m_actionType = (ActionType)EditorGUILayout.EnumPopup( new GUIContent("Action Type"), actionNode.m_actionType); GUILayout.Space(10); GUILayout.EndHorizontal(); switch (actionNode.m_actionType) { case ActionType.WALK: GUILayout.BeginHorizontal(); GUILayout.Space(10); actionNode.m_moveToPos = (Vector3)EditorGUILayout.Vector3Field( "", actionNode.m_moveToPos, GUILayout.MaxWidth(1000)); GUILayout.Space(10); GUILayout.EndHorizontal(); break; case ActionType.PICKUPKEY: break; case ActionType.OPENDOOR: break; case ActionType.RESETVARIABLES: break; case ActionType.COUNT: break; default: break; } } } } GUILayout.EndArea(); ProcessEvents(_e); }