static void Menu()
    {
        if (isLoaded == false)
        {
            initialLoadExtensionState();
            isLoaded = true;
        }

        EditorGUI.BeginChangeCheck();
        changedStateList.Clear();

        foreach (var pair in extensionToState)
        {
            var retValue = EditorGUILayout.Toggle(
                pair.Key.ToString(),
                pair.Value == ExtensionState.Work
                );

            var stateInt = (retValue) ? 1 : 0;
            changedStateList.Add(pair.Key, (ExtensionState)stateInt);
        }

        foreach (var changedState in changedStateList)
        {
            extensionToState[changedState.Key] = changedState.Value;
        }

        if (EditorGUI.EndChangeCheck())
        {
            saveExtensionState();
            HierarchyIconExtensionList.UpdateWorkingExtensions();
        }
    }
 static MissingScriptIconExtension()
 {
     HierarchyIconExtensionList.AddExtension(new MissingScriptIconExtension());
     iconTexture = AssetDatabase.LoadAssetAtPath(
         "Assets/HierarchyIconExtension/Editor/HierarchyIconExtension/Feature/Alice.png",
         typeof(Texture2D)
         ) as Texture2D;
 }
示例#3
0
 static OverridePrefabIconExtension()
 {
     HierarchyIconExtensionList.AddExtension(new OverridePrefabIconExtension());
     iconTexture = AssetDatabase.LoadAssetAtPath(
         "Assets/HierarchyIconExtension/Editor/HierarchyIconExtension/Feature/Bob.png",
         typeof(Texture2D)
         ) as Texture2D;
     EditorApplication.hierarchyWindowChanged += resetSerializedObject;
 }
 private static void initialLoadExtensionState()
 {
     extensionToState.Clear();
     foreach (var extension in HierarchyIconExtensionList.GetAllExtensions())
     {
         var extensionName = extension.GetType().ToString();
         var stateString   = EditorUserSettings.GetConfigValue(extensionName) ?? ((int)ExtensionState.Idle).ToString();
         var state         = (ExtensionState)int.Parse(stateString);
         extensionToState.Add(extensionName, state);
     }
 }