Esempio n. 1
0
 void OnEnable()
 {
     UpdateTag();
     myModel                  = (TextStyleMessage)target;
     EditorDemoText           = myModel.GetComponent <Text>();
     DemoGradient             = myModel;
     myModel.DemoTag.localnub = AllName.IndexOf(myModel.DemoTag.TextType);
 }
Esempio n. 2
0
        public static void ShowCreatWindow(TextStyleMessage NowMessage, Text GetText)
        {
            if (IsOpne)
            {
                return;
            }
            EditorWindow window = GetWindow(typeof(EditorGUILayoutTextNow));

            window.titleContent = new GUIContent("Save the current font style");
            window.Show();
            DemoGradient   = NowMessage;
            EditorDemoText = GetText;
        }
Esempio n. 3
0
    void OnGUI()
    {
        if (_serializedObject == null)
        {
            return;
        }

        if (TypeStyleName == "自定义风格" || TypeStyleName == "所有风格")
        {
            EditorLock = true;
        }
        else
        {
            EditorLock = false;
        }

        if (AllName.Count <= 0)
        {
            return;
        }
        if (SaveText.Count <= 0)
        {
            return;
        }

        GUILayout.Space(20);

        _serializedObject.Update();
        Text_serializedObject.Update();
        EditorGUI.BeginChangeCheck();


        EditorGUILayout.BeginHorizontal();
        {
            if (GUILayout.Button("创建一个新的text风格", GUILayout.Width(150), GUILayout.Height(30)))
            {
                EditorGUILayoutPopup.ShowCreatWindow();
            }
            if (GUILayout.Button("刷新", GUILayout.Width(150), GUILayout.Height(30)))
            {
                UpdateTag();
                EditorApplication.update();
            }
            if (GUILayout.Button("删除此类风格", GUILayout.Width(150), GUILayout.Height(30)))
            {
            }
            if (GUILayout.Button(LockName, GUILayout.Width(150), GUILayout.Height(30)))
            {
                SizeLock = !SizeLock;
                LockName = SizeLock?"解锁位置信息":"锁定位置信息";
            }
        }
        EditorGUILayout.EndHorizontal();
        GUILayout.Space(10);
        if (IsEditor)
        {
            Debug.Log(TypeStyleName);
            EditorGUILayout.PropertyField(TypeNameProperty);
        }
        EditorGUI.BeginDisabledGroup(AcitonBool);
        SaveNub = EditorGUILayout.Popup(SaveNub, AllName.ToArray());
        EditorGUI.EndDisabledGroup();
        EditorGroup = (TextGroup)SaveNub;
        if (AllName[SaveNub] != lastNub)
        {
            UpdateMessage();
        }

        EditorGUI.BeginDisabledGroup(EditorLock);
        EditorGUILayout.BeginHorizontal();
        {
            GUI.color = Color.green;
            EditorGUILayout.PropertyField(_OutLineProperty, true);
            EditorGUILayout.PropertyField(_ShadowProperty, true);
            EditorGUILayout.PropertyField(_GradientProperty, true);
            GUI.color = Color.white;
        }
        EditorGUILayout.EndHorizontal();


        GUILayout.Space(20);

        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PropertyField(bool_FontColorProperty, true);
            EditorGUILayout.PropertyField(_FontColorProperty, true);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PropertyField(bool_FontSizeProperty, true);
            EditorGUILayout.PropertyField(_FontSizeProperty, true);
        }
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PropertyField(bool_FontProperty, true);
            EditorGUILayout.PropertyField(_FontProperty, true);
        }
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PropertyField(bool_RaycastProperty, true);
            EditorGUILayout.PropertyField(_RaycastProperty, true);
        }
        EditorGUILayout.EndHorizontal();
        GUILayout.Space(10);
        EditorGUI.BeginDisabledGroup(SizeLock);
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PropertyField(bool_SizeProperty, true);
            EditorGUILayout.PropertyField(_SizeProperty, true);
        }
        EditorGUILayout.EndHorizontal();

        GUILayout.Space(10);
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PropertyField(bool_PositionProperty, true);
            EditorGUILayout.PropertyField(_PositionProperty, true);
        }
        EditorGUILayout.EndHorizontal();

        GUILayout.Space(10);
        EditorGUILayout.BeginHorizontal();
        {
            if (GUILayout.Button("偏移组件", GUILayout.Width(150), GUILayout.Height(30)))
            {
                MovePosition();
            }
            MoveVector = EditorGUILayout.Vector3Field("输入偏移量:", MoveVector);
        }
        EditorGUILayout.EndHorizontal();
        EditorGUI.EndDisabledGroup();

        if (_OutLineProperty.boolValue)
        {
            GUILayout.Space(20);
            GUILayout.Box("描边特效");
            EditorGUILayout.PropertyField(_OutLine_StartColorProperty, true);
            EditorGUILayout.PropertyField(_EffectSizeProperty, true);
            EditorGUILayout.PropertyField(_ShadowVectorProperty, true);
        }
        if (_ShadowProperty.boolValue)
        {
            GUILayout.Space(20);
            GUILayout.Box("阴影特效");
            EditorGUILayout.PropertyField(_Shadow_StartColorProperty, true);
            EditorGUILayout.PropertyField(_ShadowEffectSizeProperty, true);
        }
        if (_GradientProperty.boolValue)
        {
            GUILayout.Space(20);
            GUILayout.Box("渐变色特效");
            EditorGUILayout.PropertyField(_GradientTypeProperty, true);
            if ((GradientType)_GradientTypeProperty.enumValueIndex == GradientType.Horizontal)
            {
                EditorGUILayout.PropertyField(_StartColorProperty, true);
                EditorGUILayout.PropertyField(_EndColorProperty, true);
            }
            if ((GradientType)_GradientTypeProperty.enumValueIndex == GradientType.Vertica)
            {
                EditorGUILayout.PropertyField(_StartColorProperty, true);
                EditorGUILayout.PropertyField(_EndColorProperty, true);
            }
            if ((GradientType)_GradientTypeProperty.enumValueIndex == GradientType.HorizontalMore)
            {
                EditorGUILayout.PropertyField(_StartColorProperty, true);
                EditorGUILayout.PropertyField(_CenterColorProperty, true);
                EditorGUILayout.PropertyField(_EndColorProperty, true);
            }
        }


        GUILayout.Space(20);
        EditorGUILayout.BeginHorizontal();
        {
            if (!IsEditor)
            {
                EditorGUILayout.BeginVertical();
                {
                    if (GUILayout.Button("设置此类text风格", GUILayout.Width(250), GUILayout.Height(30)))
                    {
                        if (EditorUtility.DisplayDialog("提示消息", "确实要覆盖此类字体的样式吗", "确定", "取消"))
                        {
                            SetActionStyle();
                            //EditorApplication.SaveScene ();
                        }
                    }

                    GUILayout.Space(10);

                    if (GUILayout.Button("编辑此类text风格", GUILayout.Width(250), GUILayout.Height(30)))
                    {
                        AcitonBool = true;
                        if (EditorUtility.DisplayDialog("编辑字体之前请保存当前场景的设置", "是否要保存当前场景设置?", "确定", "取消"))
                        {
                            EditorApplication.SaveScene();
                        }
                        EditorText.Clear();
                        IsEditor      = true;
                        LastSceneName = EditorApplication.currentScene;

                        EditorApplication.NewScene();
                        if (EditorDemoText == null)
                        {
                            Canvas[] GetDemotext = Resources.LoadAll <Canvas> ("");
                            foreach (Canvas child in GetDemotext)
                            {
                                if (child.name == "DemoSytleEditor")
                                {
                                    GameObject textdemo = GameObject.Instantiate(child.gameObject);
                                    EditorDemoText = textdemo.GetComponentInChildren <Text> ();
                                    DemoGradient   = EditorDemoText.GetComponent <TextStyleMessage> ();

                                    break;
                                }
                            }
                            Camera.main.clearFlags      = CameraClearFlags.Color;
                            Camera.main.backgroundColor = Color.white;
                            TypeStyleName = MyText.TextMark;
                            LastTypeName  = TypeStyleName;
                            NowTypename   = TypeStyleName;
                        }

                        return;
                    }
                    GUILayout.Space(10);
                }

                EditorGUILayout.EndVertical();
                EditorGUI.EndDisabledGroup();
                GUILayout.Space(20);
                EditorGUILayout.BeginVertical();
                {
                    if (GUILayout.Button("刷新", GUILayout.Width(250), GUILayout.Height(30)))
                    {
                        GetObjType(lastNub);
                    }
                    ScrollView = GUILayout.BeginScrollView(ScrollView);
                    {
                        TextList.DoLayoutList();
                    }
                }
                EditorGUILayout.EndVertical();
                GUILayout.EndScrollView();
            }
            else
            {
                if (GUILayout.Button("返回", GUILayout.Width(250), GUILayout.Height(30)))
                {
                    if (!CheckName(TypeStyleName))
                    {
                        if (EditorUtility.DisplayDialog("提示消息", "名字已被使用,请重新定义风格名称", "确定"))
                        {
                            return;
                        }
                    }
                    if (TypeStyleName != string.Empty)
                    {
                        MyText.TextMark = TypeStyleName;
                    }
                    AcitonBool = false;
                    IsEditor   = false;
                    EditorApplication.OpenScene(LastSceneName);
                    UpdateAssetName();
                    UpdateSytleMessage(AllName[SaveNub]);
                }

                if (EditorDemoText != null && DemoGradient != null)
                {
                    SetFontDemoSytle();
                    EditorUtility.SetDirty(EditorDemoText.gameObject);
                    DemoGradient.UpdateState();
                }
            }
        }
        EditorGUILayout.EndHorizontal();

        GUILayout.Space(20);

        if (GUILayout.Button("关闭窗口", GUILayout.Width(150), GUILayout.Height(20)))
        {
            this.Close();
        }

        if (EditorGUI.EndChangeCheck())
        {
            if (_serializedObject != null)
            {
                _serializedObject.ApplyModifiedProperties();
            }
            Text_serializedObject.ApplyModifiedProperties();
        }
    }