Beispiel #1
0
        private void OnGUI()
        {
            if (magiCloud == null)
            {
                magiCloud = Resources.Load <GUISkin>("MagiCloud");
            }

            if (labelStyle == null)
            {
                labelStyle          = new GUIStyle(magiCloud.label);
                labelStyle.fontSize = 13;
            }

            OnInitTags();

            OnInitLayers();

            scrollPos = GUILayout.BeginScrollView(scrollPos, GUILayout.Width(position.width), GUILayout.Height(position.height));


            GUILayout.BeginVertical();
            GUILayout.Space(10);

            GUILayout.Label("创建/查找框架预制物体", magiCloud.label);

            GUILayout.BeginHorizontal();
            initialize = (MInitialize)EditorGUILayout.ObjectField(new GUIContent("场景框架预知物体:", "查询场景框架预制物体,如果场景不存在,可点击创建可自动创建,也可通过创建按钮,自动查找"),
                                                                  initialize, typeof(MInitialize), false, GUILayout.Width(400), GUILayout.Height(20));

            GUILayout.Space(10);

            if (GUILayout.Button(new GUIContent("创建/查找", "如果场景框架预制物体为Null,自动会在场景中创建,如果场景框架预制物体不为Null,但是编辑器窗口为Null,则点击该按钮自动赋值"),
                                 GUILayout.Width(120), GUILayout.Height(20)))
            {
                initialize = FindObjectOfType <MInitialize>();

                if (initialize == null)
                {
                    GameObject featuresObject = Resources.Load <GameObject>("MagiCloud");
                    var        newFeatures    = Instantiate <GameObject>(featuresObject);
                    newFeatures.name = featuresObject.name;
                    initialize       = newFeatures.GetComponent <MInitialize>();
                }

                Selection.activeGameObject = initialize.gameObject;
            }

            GUILayout.EndHorizontal();

            if (FrameConfig.Config != null)
            {
                #region 高亮公用参数配置

                GUILayout.Space(20);

                GUILayout.Label("高亮公用参数配置", magiCloud.label);

                //FrameConfig.Config.highlightType = (HighlightType)EditorGUILayout.EnumPopup(new GUIContent("高亮类型:","可通过代码FrameConfig.highlightType返回以及设置相关参数"),FrameConfig.Config.highlightType
                //    ,GUILayout.Width(250),GUILayout.Height(20));

                GUILayout.Space(5);

                FrameConfig.Config.highlightColor = EditorGUILayout.ColorField(new GUIContent("高亮颜色:", "可通过代码FrameConfig.highlightColor获取高亮颜色"), FrameConfig.Config.highlightColor
                                                                               , GUILayout.Width(350), GUILayout.Height(20));

                FrameConfig.Config.grabColor = EditorGUILayout.ColorField(new GUIContent("高亮颜色:", "可通过代码FrameConfig.grabColor获取高亮颜色"), FrameConfig.Config.grabColor
                                                                          , GUILayout.Width(350), GUILayout.Height(20));


                //switch (FrameConfig.Config.highlightType)
                //{
                //    case HighlightType.Shader:

                //        FrameConfig.Config.highlightColor = EditorGUILayout.ColorField(new GUIContent("高亮颜色:","可通过代码FrameConfig.highlightColor获取高亮颜色"),FrameConfig.Config.highlightColor
                //            ,GUILayout.Width(350),GUILayout.Height(20));

                //        FrameConfig.Config.grabColor = EditorGUILayout.ColorField(new GUIContent("高亮颜色:","可通过代码FrameConfig.grabColor获取高亮颜色"),FrameConfig.Config.grabColor
                //            ,GUILayout.Width(350),GUILayout.Height(20));

                //        break;
                //    case HighlightType.Model:
                //        break;
                //}

                GUILayout.Space(20);
                #endregion

                #region 标签公用参数配置
                GUILayout.Space(20);
                GUILayout.Label("标签公用参数配置", magiCloud.label);
                FrameConfig.Config.labelFont = (Font)EditorGUILayout.ObjectField(new GUIContent("标签字体:"), FrameConfig.Config.labelFont, typeof(Font), true, GUILayout.Width(350), GUILayout.Height(20));
                GUILayout.Space(5);

                //标签颜色
                EditorGUI.BeginChangeCheck();
                FrameConfig.Config.initLabelColor = EditorGUILayout.ColorField(new GUIContent("标签颜色:", "可通过代码FrameConfig.labelColor获取高亮颜色"), FrameConfig.Config.initLabelColor
                                                                               , GUILayout.Width(350), GUILayout.Height(20));
                if (EditorGUI.EndChangeCheck())
                {
                    KGUI.KGUI_LabelController.Instance.SetAllFontColor(FrameConfig.Config.initLabelColor);
                }

                //标签字体大小
                EditorGUI.BeginChangeCheck();
                FrameConfig.Config.initLabelFontSize = EditorGUILayout.IntField(new GUIContent("标签字体大小:", "可通过代码FrameConfig.labelFontSize获取字体大小"), FrameConfig.Config.initLabelFontSize, GUILayout.Width(350), GUILayout.Height(20));
                if (EditorGUI.EndChangeCheck())
                {
                    KGUI.KGUI_LabelController.Instance.SetAllFontSize(FrameConfig.Config.initLabelFontSize);
                }
                GUILayout.Space(5);
                //标签背景图片
                EditorGUI.BeginChangeCheck();
                FrameConfig.Config.labelBg = (Sprite)EditorGUILayout.ObjectField(new GUIContent("标签背景图片:", "可通过代码FrameConfig.labelBg获取背景图片"), FrameConfig.Config.labelBg, typeof(Sprite), true, GUILayout.Width(350), GUILayout.Height(60));
                if (EditorGUI.EndChangeCheck())
                {
                    KGUI.KGUI_LabelController.Instance.SetAllLabelBG(FrameConfig.Config.labelBg);
                }


                #endregion
            }

            #region 生成框架所需Tags以及Layer层

            GUILayout.Label("生成框架所需Tags以及Layer层", magiCloud.label);

            GUILayout.BeginHorizontal();
            GUILayout.Space(10);

            GUILayout.BeginVertical("box");

            GUILayout.Label("框架Tag信息", labelStyle);
            foreach (var item in tagInfos)
            {
                GUILayout.Label(item.TagID + ":    " + item.Use);
            }

            //if (GUILayout.Button(new GUIContent("生成框架Tag", "如果此时Editor Tags不足框架所需Tag,点击此按钮自动生成"), GUILayout.Width(100), GUILayout.Height(20)))
            //{
            //    foreach (var item in tagInfos)
            //    {
            //        AddTag(item.TagID);
            //    }
            //}

            GUILayout.Space(20);

            GUILayout.Label("框架Layer信息", labelStyle);
            foreach (var item in layerInfos)
            {
                GUILayout.Label(item.LayerID + ":    " + item.Use);
            }

            //if (GUILayout.Button(new GUIContent("生成框架Layer", "如果此时Editor Layer不足框架所需Layer,点击此按钮自动生成"), GUILayout.Width(100), GUILayout.Height(20)))
            //{
            //    foreach (var item in layerInfos)
            //    {
            //        AddLayer(item.LayerID);
            //    }
            //}

            GUILayout.EndVertical();

            GUILayout.EndHorizontal();
            #endregion

            GUILayout.EndVertical();

            GUILayout.Space(20);

            GUILayout.EndScrollView();
        }
Beispiel #2
0
        static void CreateFrameConfig()
        {
            EditorWindow.GetWindow(typeof(FrameConfigEditorWindow));

            initialize = FindObjectOfType <MInitialize>();
        }
Beispiel #3
0
 public void Initialize(int _pinitindex)
 {
     MInitialize.Invoke(ImplInstance, new object[] { _pinitindex });
 }