Пример #1
0
    private void OnDestroy()
    {
        m_Instance = null;

        m_RegisterSelectIndex = -1;
        m_CurMark             = null;
        m_EditorInfo          = null;
    }
Пример #2
0
    public void OnGUI()
    {
        EditorGUILayout.BeginHorizontal();

        EditorGUILayout.BeginVertical("Box", GUILayout.MaxWidth(200));
        {
            m_MarkScrollViewVector2 = EditorGUILayout.BeginScrollView(m_MarkScrollViewVector2);
            {
                for (var index = 0; index < HierarchyMarkRegister.Registers.Length; index++)
                {
                    GUI.backgroundColor = m_RegisterSelectIndex == index ? Color.grey : Color.white;
                    if (GUILayout.Button(HierarchyMarkRegister.Registers[index].Name))
                    {
                        m_RegisterSelectIndex = index;
                        Type type = HierarchyMarkRegister.Registers[index];
                        m_CurMark = type.Assembly.CreateInstance(type.Name) as HierarchyMark;
                        UpdateCurMarkInfo();
                    }

                    GUI.backgroundColor = Color.white;
                }
            }
            EditorGUILayout.EndScrollView();
        }
        EditorGUILayout.EndVertical();

        if (m_CurMark == null)
        {
            m_RegisterSelectIndex = -1;
            EditorGUILayout.LabelField("请选择对象");
            return;
        }

        EditorGUILayout.BeginVertical();
        {
            m_InfoScrollViewVector2 = EditorGUILayout.BeginScrollView(m_InfoScrollViewVector2);
            {
                MarkBaseInfoGUI();

                EditorGUILayout.Space();

                if (GUILayout.Button("保存", GUILayout.Height(30)))
                {
                    KeepCurInfo();
                    KeepMarkInfoToJson();
                }
            }
            EditorGUILayout.EndScrollView();
        }
        EditorGUILayout.EndVertical();

        EditorGUILayout.EndHorizontal();
    }
Пример #3
0
 private void SetHierarchyMarkInfo(HierarchyMark curMark, MarkEditorInfo markInfo)
 {
     if (markInfo.m_UseUnity)
     {
         GUIStyle guiStyle = new GUIStyle(markInfo.m_UnityStyleName);
         curMark.m_GUIStyle = guiStyle;
     }
     else
     {
         curMark.m_GUIStyle.normal.background    = string.IsNullOrEmpty(markInfo.m_Normal) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_Normal);
         curMark.m_GUIStyle.onNormal.background  = string.IsNullOrEmpty(markInfo.m_OnNormal) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_OnNormal);
         curMark.m_GUIStyle.hover.background     = string.IsNullOrEmpty(markInfo.m_Hover) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_Hover);
         curMark.m_GUIStyle.onHover.background   = string.IsNullOrEmpty(markInfo.m_OnHover) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_OnHover);
         curMark.m_GUIStyle.active.background    = string.IsNullOrEmpty(markInfo.m_Active) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_Active);
         curMark.m_GUIStyle.onActive.background  = string.IsNullOrEmpty(markInfo.m_OnActive) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_OnActive);
         curMark.m_GUIStyle.focused.background   = string.IsNullOrEmpty(markInfo.m_Focused) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_Focused);
         curMark.m_GUIStyle.onFocused.background = string.IsNullOrEmpty(markInfo.m_OnFocused) ? null : AssetDatabase.LoadAssetAtPath <Texture2D>(markInfo.m_OnFocused);
     }
 }