//--------------------------------------------------------------------------------------------------
    // メインウィンドウ左側描画領域.
    // 検索条件などを指定する領域.
    private void drawMainLeftElem()
    {
        EditorGUILayout.BeginVertical(GUI.skin.box, GUILayout.Width(MAIN_LEFT_ELEM_WIDTH));

        this.searchType  = ( SearchType )EditorGUILayout.EnumPopup("検索タイプ", this.searchType);
        this.searchScope = ( SearchScope )EditorGUILayout.EnumPopup("検索範囲", this.searchScope);
        this.wholeWord   = EditorGUILayout.Toggle("完全一致か否か.", this.wholeWord);
        if (!this.wholeWord)
        {
            this.caseSencitive = EditorGUILayout.Toggle("大小文字一致比較.", this.caseSencitive);
        }


        switch (this.searchType)
        {
        case SearchType.Name: EditorGUILayout.LabelField("Input ObjectName"); break;

        case SearchType.Component: EditorGUILayout.LabelField("Input ComponentName"); break;

        default: break;
        }
        this.searchText = EditorGUILayout.TextField(this.searchText, GUI.skin.textField);


        if (GUILayout.Button("Search"))
        {
            Debug.Log("捜索します.");
            this.search();
        }


        MyEditorLayout.space(3);
        MyEditorLayout.separatorLine(MAIN_LEFT_ELEM_WIDTH);
        this.dumpFoldout = EditorGUILayout.Foldout(this.dumpFoldout, "Show Dump Palameter");
        if (this.dumpFoldout)
        {
            this.drawDumpPalameter();
        }

        EditorGUILayout.EndVertical();
    }
示例#2
0
        void drawDefualt()
        {
            GUILayout.BeginHorizontal();

            GUILayout.Label("default", defaultLabel);

            //连接选择
            GUI.color = EditorGUIUtility.isProSkin ? Color.green : Color.grey;
            if (MyEditorLayout.Button("L", defaultLButton, out rect))
            {
                GenericMenu menu = new GenericMenu();

                menu.AddItem(newNode, false, () =>
                {
                    var tempWindow = new NodeWindow(new Vector2(50, 50) + position, windowList);
                    windowList.Add(tempWindow);
                    defaultEntity = tempWindow;
                });

                List <BaseWindow> selectionList = new List <BaseWindow>();
                foreach (var item in windowList)
                {
                    if (item is NodeWindow)
                    {
                        selectionList.Add(item);
                    }
                }

                foreach (var item in selectionList)
                {
                    bool select = (defaultEntity != null) && defaultEntity.Id == item.Id;
                    menu.AddItem(new GUIContent(item.Id + " " + item.Name), select, () =>
                    {
                        if (select)
                        {
                            defaultEntity = null;
                        }
                        else
                        {
                            defaultEntity = item as NodeWindow;
                        }
                    });
                }

                menu.ShowAsContext();
            }

            if (defaultEntity == null)
            {
                linkStyle.normal.textColor = Color.gray;
            }
            else
            {
                linkStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.green : Color.grey;
            }

            MyEditorLayout.Label("o", linkStyle, out rect);

            //有的时候 rect会为0,0,1,1
            if (rect.position != Vector2.zero)
            {
                defaultPos.x = rect.position.x + rect.width;
                defaultPos.y = rect.position.y + rect.height / 2;
            }

            GUI.color = Color.white;

            GUILayout.EndHorizontal();
        }
示例#3
0
        void drawConditions()
        {
            for (int i = 0; i < conditions.Count; i++)
            {
                RouterWindowCondition rc = conditions[i];
                GUILayout.BeginHorizontal();

                string c           = rc.className;
                int    selectindex = allConditionClass.IndexOf(c);
                selectindex = EditorGUILayout.Popup(selectindex, allConditionClass.ToArray(), popupStyle);
                if (selectindex >= 0)
                {
                    conditions[i].className = allConditionClass[selectindex];
                }

                //删除
                GUI.color = Color.red;
                if (GUILayout.Button("-", buttonStyle))
                {
                    conditions.RemoveAt(i);
                    i--;
                    _size.y -= addHeight;
                }
                GUI.color = Color.white;

                //连接选择
                GUI.color = EditorGUIUtility.isProSkin ? Color.green : Color.grey;
                if (MyEditorLayout.Button("L", buttonStyle, out rect))
                {
                    GenericMenu menu = new GenericMenu();

                    menu.AddItem(newNode, false, () =>
                    {
                        var tempWindow = new NodeWindow(new Vector2(50, 50) + position, windowList);
                        windowList.Add(tempWindow);
                        rc.entity = tempWindow;
                    });

                    menu.AddSeparator("");

                    List <NodeWindow> selectionList = new List <NodeWindow>();
                    foreach (var item in windowList)
                    {
                        if (item.windowType == NodeType.Node)
                        {
                            selectionList.Add(item as NodeWindow);
                        }
                    }

                    foreach (var item in selectionList)
                    {
                        bool select = (rc.entity != null) && rc.entity.Id == item.Id;
                        menu.AddItem(new GUIContent(string.Format("[{0}][{1}] {2}", item.Id, item.windowType, item.Name)), select, () =>
                        {
                            if (select)
                            {
                                rc.entity = null;
                            }
                            else
                            {
                                rc.entity = item;
                            }
                        });
                    }

                    menu.ShowAsContext();
                }


                GUI.color = Color.white;

                if (rc.entity == null)
                {
                    linkStyle.normal.textColor = Color.gray;
                }
                else
                {
                    linkStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.green : Color.grey;
                }

                MyEditorLayout.Label("o", linkStyle, out rect);

                //有的时候 rect会为0,0,1,1
                if (rect.position != Vector2.zero)
                {
                    rc.drawPos.x = rect.position.x + rect.width;
                    rc.drawPos.y = rect.position.y + rect.height / 2;
                }

                GUILayout.EndHorizontal();
            }
        }