public override void OnInspectorGUI()
        {
            EGUILayout.DrawScript(target);

            EditorGUILayout.Space();

            EGUI.BeginGUIColor(Color.grey);
            {
                EditorGUILayout.BeginVertical(EditorStyles.helpBox);
                {
                    EGUILayout.DrawBoxHeader("Native Drawer Setting", GUILayout.ExpandWidth(true));
                    EGUI.BeginIndent();
                    {
                        NativeDrawerSetting.IsShowHelp = EditorGUILayout.Toggle("Is Show Help", NativeDrawerSetting.IsShowHelp);
                    }
                    EGUI.EndIndent();
                }
                EditorGUILayout.EndVertical();
            }
            EGUI.EndGUIColor();

            EditorGUILayout.Space();

            EGUI.BeginLabelWidth(GetLabelWidth());
            {
                drawerObject.OnGUILayout();
            }
            EGUI.EndLableWidth();
        }
Пример #2
0
 protected void DrawSpriteAtlas()
 {
     DrawAtlasPopupLayout(new GUIContent("Sprite Atlas"), new GUIContent("----"), m_SpriteAtlas);
     EGUI.BeginIndent();
     {
         DrawSpritePopup(m_SpriteAtlas.objectReferenceValue as SpriteAtlas, m_SpriteName);
     }
     EGUI.EndIndent();
 }
Пример #3
0
 public override void OnGUI(Rect rect)
 {
     GUILayout.BeginArea(rect);
     {
         EGUILayout.DrawBoxHeader("Setting", EGUIStyles.BoxedHeaderCenterStyle, GUILayout.ExpandWidth(true));
         EditorGUILayout.Space();
         scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
         {
             if (m_Setting != null)
             {
                 EditorGUI.BeginChangeCheck();
                 {
                     m_Setting.GlobalSetting.GlobalLogLevel = (LogLevel)EditorGUILayout.EnumPopup("Global Log Level:", m_Setting.GlobalSetting.GlobalLogLevel);
                 }
                 if (EditorGUI.EndChangeCheck())
                 {
                     LogViewer.Viewer.ChangeGlobalLogLevel(m_Setting.GlobalSetting.GlobalLogLevel);
                 }
                 if (m_Setting.LoggerSettings.Count > 0)
                 {
                     EditorGUILayout.LabelField("Logger Log Level:");
                     EGUI.BeginIndent();
                     {
                         foreach (var loggerSetting in m_Setting.LoggerSettings)
                         {
                             EditorGUI.BeginChangeCheck();
                             {
                                 EditorGUILayout.LabelField(loggerSetting.Name);
                                 EGUI.BeginIndent();
                                 {
                                     loggerSetting.MinLogLevel        = (LogLevel)EditorGUILayout.EnumPopup("Min Log Level:", loggerSetting.MinLogLevel);
                                     loggerSetting.StackTraceLogLevel = (LogLevel)EditorGUILayout.EnumPopup("StackTrace Log Level:", loggerSetting.StackTraceLogLevel);
                                 }
                                 EGUI.EndIndent();
                             }
                             if (EditorGUI.EndChangeCheck())
                             {
                                 LogViewer.Viewer.ChangeLoggerLogLevel(loggerSetting.Name, loggerSetting.MinLogLevel, loggerSetting.StackTraceLogLevel);
                             }
                         }
                     }
                     EGUI.EndIndent();
                 }
             }
         }
         EditorGUILayout.EndScrollView();
     }
     GUILayout.EndArea();
 }
Пример #4
0
 protected override void DrawInstance()
 {
     if (!string.IsNullOrEmpty(Header))
     {
         EditorGUILayout.LabelField(Header);
     }
     if (itemDrawers.Count > 0)
     {
         EGUI.BeginIndent();
         {
             foreach (var drawer in itemDrawers)
             {
                 drawer.OnGUILayout();
             }
         }
         EGUI.EndIndent();
     }
 }
Пример #5
0
        protected override void OnLayoutDraw()
        {
            if (isLineCountChanged)
            {
                Width = EditorGUIUtility.singleLineHeight * LineCount;
                isLineCountChanged = false;
            }

            EditorGUILayout.BeginVertical();
            {
                EditorGUILayout.PrefixLabel(Label);
                EGUI.BeginIndent();
                {
                    Value = EditorGUILayout.TextArea(Value, LayoutOptions);
                }
                EGUI.EndIndent();
            }
            EditorGUILayout.EndVertical();
        }
Пример #6
0
        internal static void OnDrawSetting()
        {
            EGUILayout.DrawHorizontalSpace(8);

            EGUI.BeginGUIColor(Color.grey);
            {
                EditorGUILayout.BeginVertical(EditorStyles.helpBox);
                {
                    EGUILayout.DrawBoxHeader("Native Drawer Setting", GUILayout.ExpandWidth(true));
                    EGUI.BeginIndent();
                    {
                        IsShowHelp = EditorGUILayout.Toggle("Is Show Help", IsShowHelp);
                    }
                    EGUI.EndIndent();
                }
                EditorGUILayout.EndVertical();
            }
            EGUI.EndGUIColor();

            EGUILayout.DrawHorizontalSpace(8);
        }
Пример #7
0
        protected override void OnDrawProperty(string label)
        {
            var attr = GetAttr <MultilineTextAttribute>();

            label = label ?? "";
            string value = DrawerProperty.GetValue <string>();

            EditorGUILayout.LabelField(label);
            EditorGUI.BeginChangeCheck();
            {
                EGUI.BeginIndent();
                {
                    value = EditorGUILayout.TextArea(value, GUILayout.Height(EditorGUIUtility.singleLineHeight * attr.LineCount));
                }
                EGUI.EndIndent();
            }
            if (EditorGUI.EndChangeCheck())
            {
                DrawerProperty.Value = value;
            }
        }
Пример #8
0
 private void DrawIngoreAssetExtension()
 {
     EditorGUILayout.BeginVertical(EditorStyles.helpBox);
     {
         EditorGUILayout.LabelField("Ignore Asset Extension:");
         EGUI.BeginIndent();
         {
             EditorGUI.BeginChangeCheck();
             {
                 foreach (var extension in m_IngoreAssetExtensions)
                 {
                     extension.isSelected = EditorGUILayout.Toggle(extension.displayName, extension.isSelected);
                 }
             }
             if (EditorGUI.EndChangeCheck())
             {
                 m_TreeView.GetViewModel <AssetDependencyTreeViewModel>().SetIgnoreExtension(GetSelectedIgnoreExtensions());
             }
         }
         EGUI.EndIndent();
     }
     EditorGUILayout.EndVertical();
 }
Пример #9
0
        public override void OnGUILayout()
        {
            EGUILayout.DrawBoxHeader(Label, GUILayout.ExpandWidth(true));
            if (operater == null)
            {
                operater                 = ItemDrawer.Value as Operater;
                listDrawer               = new ArrayDrawer(operater.rules);
                listDrawer.Header        = "Operation Rules";
                listDrawer.IsShowBox     = true;
                listDrawer.IsShowInherit = false;

                listDrawer.CreateNewItem = () =>
                {
                    ShowMenuToCreateOperationRule((rule) =>
                    {
                        operater.rules.Add(rule);
                        listDrawer.Refresh();
                    });
                };
                listDrawer.ClearAllItem = () =>
                {
                    operater.rules.Clear();
                    listDrawer.Refresh();
                };
                listDrawer.DeleteItemAt = (index) =>
                {
                    operater.rules.RemoveAt(index);
                    listDrawer.Refresh();
                };
            }
            EGUI.BeginIndent();
            {
                operater.enable = EditorGUILayout.Toggle("enable", operater.enable);
                listDrawer.OnGUILayout();
            }
            EGUI.EndIndent();
        }
Пример #10
0
        public override void OnGUILayout()
        {
            EGUILayout.DrawBoxHeader(Label, GUILayout.ExpandWidth(true));
            if (matcher == null)
            {
                matcher                  = ItemDrawer.Value as Matcher;
                listDrawer               = new ArrayDrawer(matcher.filters);
                listDrawer.Header        = "Filters";
                listDrawer.IsShowBox     = true;
                listDrawer.IsShowInherit = false;

                listDrawer.CreateNewItem = () =>
                {
                    ShowMenuToCreateMatchFilter((filter) =>
                    {
                        matcher.filters.Add(filter);
                        listDrawer.Refresh();
                    });
                };
                listDrawer.ClearAllItem = () =>
                {
                    matcher.filters.Clear();
                    listDrawer.Refresh();
                };
                listDrawer.DeleteItemAt = (index) =>
                {
                    matcher.filters.RemoveAt(index);
                    listDrawer.Refresh();
                };
            }
            EGUI.BeginIndent();
            {
                matcher.enable = EditorGUILayout.Toggle("enable", matcher.enable);
                listDrawer.OnGUILayout();
            }
            EGUI.EndIndent();
        }
Пример #11
0
 public override void OnGUILayout()
 {
     EGUI.BeginIndent();
 }
Пример #12
0
        protected internal override void OnGUI(Rect rect)
        {
            GUILayout.BeginArea(rect);
            {
                scrollPos = EditorGUILayout.BeginScrollView(scrollPos, EditorStyles.helpBox);
                {
                    EGUILayout.DrawBoxHeader("Assembly Type List", GUILayout.ExpandWidth(true));
                    foreach (var typeData in assemblyTypes)
                    {
                        string fullName = typeData.Type.FullName;

                        if (typeData.IsEnum())
                        {
                            continue;
                        }

                        if (!string.IsNullOrEmpty(searchText) && fullName.ToLower().IndexOf(searchText.ToLower()) < 0)
                        {
                            continue;
                        }
                        if (genConfig.callCSharpTypeNames.IndexOf(fullName) < 0 && genConfig.callLuaTypeNames.IndexOf(fullName) < 0)
                        {
                            continue;
                        }
                        EGUI.BeginIndent();
                        {
                            typeData.IsFoldout = EditorGUILayout.Foldout(typeData.IsFoldout, fullName, true);
                            if (typeData.IsFoldout)
                            {
                                EGUI.BeginIndent();
                                {
                                    Rect fieldRect = GUILayoutUtility.GetRect(new GUIContent("Fields"), EGUIStyles.BoxedHeaderStyle, GUILayout.ExpandWidth(true));
                                    EditorGUI.LabelField(fieldRect, GUIContent.none, EGUIStyles.BoxedHeaderStyle);
                                    typeData.IsFieldFoldout = EditorGUI.Foldout(fieldRect, typeData.IsFieldFoldout, "Fields");
                                    if (typeData.IsFieldFoldout)
                                    {
                                        EGUI.BeginIndent();
                                        {
                                            foreach (var field in typeData.Fields)
                                            {
                                                string fieldName      = $"{typeData.Type.FullName}${field.Name}";
                                                bool   isSelected     = genConfig.blackDatas.IndexOf(fieldName) >= 0;
                                                bool   tempIsSelected = EditorGUILayout.ToggleLeft(fieldName, isSelected);
                                                if (isSelected != tempIsSelected)
                                                {
                                                    if (tempIsSelected)
                                                    {
                                                        genConfig.blackDatas.Add(fieldName);
                                                    }
                                                    else
                                                    {
                                                        genConfig.blackDatas.Remove(fieldName);
                                                    }
                                                }
                                            }
                                        }
                                        EGUI.EndIndent();
                                    }


                                    Rect propertyRect = GUILayoutUtility.GetRect(new GUIContent("Properties"), EGUIStyles.BoxedHeaderStyle, GUILayout.ExpandWidth(true));
                                    EditorGUI.LabelField(propertyRect, GUIContent.none, EGUIStyles.BoxedHeaderStyle);
                                    typeData.IsPropertyFoldout = EditorGUI.Foldout(propertyRect, typeData.IsPropertyFoldout, "Properties");
                                    if (typeData.IsPropertyFoldout)
                                    {
                                        EGUI.BeginIndent();
                                        {
                                            foreach (var property in typeData.Properties)
                                            {
                                                string propertyName   = $"{typeData.Type.FullName}${property.Name}";
                                                bool   isSelected     = genConfig.blackDatas.IndexOf(propertyName) >= 0;
                                                bool   tempIsSelected = EditorGUILayout.ToggleLeft(propertyName, isSelected);
                                                if (isSelected != tempIsSelected)
                                                {
                                                    if (tempIsSelected)
                                                    {
                                                        genConfig.blackDatas.Add(propertyName);
                                                    }
                                                    else
                                                    {
                                                        genConfig.blackDatas.Remove(propertyName);
                                                    }
                                                }
                                            }
                                        }
                                        EGUI.EndIndent();
                                    }


                                    Rect methodRect = GUILayoutUtility.GetRect(new GUIContent("Methods"), EGUIStyles.BoxedHeaderStyle, GUILayout.ExpandWidth(true));
                                    EditorGUI.LabelField(methodRect, GUIContent.none, EGUIStyles.BoxedHeaderStyle);
                                    typeData.IsMethodFoldout = EditorGUI.Foldout(methodRect, typeData.IsMethodFoldout, "Methods");
                                    if (typeData.IsMethodFoldout)
                                    {
                                        EGUI.BeginIndent();
                                        {
                                            foreach (var method in typeData.Methods)
                                            {
                                                if (method.Name.StartsWith("set_") || method.Name.StartsWith("get_") || method.Name.StartsWith("op_"))
                                                {
                                                    continue;
                                                }

                                                ParameterInfo[] paramInfos = method.GetParameters();
                                                string          paramStr   = "";
                                                foreach (var pi in paramInfos)
                                                {
                                                    paramStr += $"@{pi.ParameterType.FullName}";
                                                }

                                                string methodName     = $"{typeData.Type.FullName}${method.Name}{paramStr}";
                                                bool   isSelected     = genConfig.blackDatas.IndexOf(methodName) >= 0;
                                                bool   tempIsSelected = EditorGUILayout.ToggleLeft(methodName, isSelected);
                                                if (isSelected != tempIsSelected)
                                                {
                                                    if (tempIsSelected)
                                                    {
                                                        genConfig.blackDatas.Add(methodName);
                                                    }
                                                    else
                                                    {
                                                        genConfig.blackDatas.Remove(methodName);
                                                    }
                                                }
                                            }
                                        }
                                        EGUI.EndIndent();
                                    }
                                }
                                EGUI.EndIndent();
                            }
                        }
                        EGUI.EndIndent();
                    }
                }
                EditorGUILayout.EndScrollView();
            }
            GUILayout.EndArea();
        }