private void OnDestroy() { m_Instance = null; m_RegisterSelectIndex = -1; m_CurMark = null; m_EditorInfo = null; }
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(); }
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); } }