Beispiel #1
0
        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);
        }