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(); ProjectIconExtensionList.UpdateWorkingExtensions(); } }
static SampleFeature1() { ProjectIconExtensionList.AddExtension(new SampleFeature1()); iconTexture = AssetDatabase.LoadAssetAtPath( "Assets/Exclude/ProjectIconExtension/Editor/ProjectIconExtension/Feature/Bob.png", typeof(Texture2D) ) as Texture2D; }
private static void initialLoadExtensionState() { extensionToState.Clear(); foreach (var extension in ProjectIconExtensionList.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); } }