public static IDataEditorStorage LoadAllPrividers(IDataEditorStorage storage = null) { storage = storage ?? new LocalDataBoxStorage(); AssemblyReflectionHelper.AllDataBox().ForEach(provider => { storage.RegisterProvider(provider); }); return(storage); }
public override void OnInspectorGUI() { switch (_state) { case StateGenerate.None: { if (GUILayout.Button("Create")) { _state = StateGenerate.ChooseType; } if (GUILayout.Button("Check")) { AssemblyReflectionHelper.GetAllTypesInSolution <DataBox>().Where(t => !t.IsAbstract && !t.IsGenericType).ForEach(t => { CreateAsset(t); }); _allProviders = AssemblyReflectionHelper.AllDataBox().ToList(); RefreshView(); } break; } case StateGenerate.ChooseType: EditorGUILayout.BeginVertical(); DrawChooseType(); EditorGUILayout.EndVertical(); break; case StateGenerate.Generating: { _allGenerators.ForEach(g => g.Generate()); AssetDatabase.Refresh(); _state = StateGenerate.None; break; } } base.OnInspectorGUI(); if (GUILayout.Button("Set generate settings")) { foreach (var dataBox in AssemblyReflectionHelper.AllDataBox()) { Debug.Log(dataBox.ObjectType.Name); } // SetPathesWindow.ShowSetPathWindow(); } }