private static void CacheScenes() { MightyTypesCache.ClearCache(); for (var i = 0; i < SceneManager.sceneCount; i++) { foreach (var monoBehaviour in ReferencesUtilities.FindAllObjects <MonoBehaviour>(SceneManager.GetSceneAt(i))) { if (monoBehaviour == null) { continue; } var type = monoBehaviour.GetType(); if (!type.HasAttributeOfType <BaseHierarchyAttribute>()) { continue; } var mightyComponent = (MightyComponent)MightyTypesCache.Add(new MightyComponent(type, new MightyComponentContext(monoBehaviour))); var wrappedAttributes = mightyComponent.GetWrappedAttributes <BaseHierarchyAttribute>(); mightyComponent.CacheHierarchyForType(type, wrappedAttributes); } } }
public static IEnumerable <BaseMightyEditor> GetMightyEditors() { for (var i = 0; i < SceneManager.sceneCount; i++) { foreach (var script in ReferencesUtilities.FindAllObjects <MonoBehaviour>(SceneManager.GetSceneAt(i))) { if (CreateMightyEditor <MonoBehaviourEditor>(script, out var mightyEditor)) { yield return(mightyEditor); } } } foreach (var script in typeof(ScriptableObject).FindAssetsOfType()) { if (CreateMightyEditor <ScriptableObjectEditor>(script, out var mightyEditor)) { yield return(mightyEditor); } } }
public static void ApplyAutoValues() { for (var i = 0; i < SceneManager.sceneCount; i++) { foreach (var script in ReferencesUtilities.FindAllObjects <MonoBehaviour>(SceneManager.GetSceneAt(i))) { if (MightyEditorUtilities.CreateMightyEditor <MonoBehaviourEditor>(script, out var mightyEditor)) { mightyEditor.ApplyAutoValues(); } } } foreach (var script in typeof(ScriptableObject).FindAssetsOfType()) { if (MightyEditorUtilities.CreateMightyEditor <ScriptableObjectEditor>(script, out var mightyEditor)) { mightyEditor.ApplyAutoValues(); } } MightyDebugUtilities.MightyDebug("Auto Values Applied", MightyDebugUtilities.LogType.AutoValues); }