public static void SetActiveConfig(string guid) { if (Instance == null) { return; } foreach (var config in Instance.appConfigs) { if (config.GetGuid() == guid) { Instance.activeAppConfig = config; EditorAppConfig.InitializeOnLoad(); if (Platform.IsUnityCloudBuild) { var activeConfig = EditorAppConfig.ActiveAppConfig; // Telling all the app configs that a unity cloud build is about to begin foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnUnityCloudBuildInitiated(activeConfig); } } break; } } }
void IProcessSceneWithReport.OnProcessScene(Scene scene, BuildReport report) { var activeConfig = EditorAppConfig.ActiveAppConfig; foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnProcessScene(activeConfig, scene, report); } }
void IPreprocessBuildWithReport.OnPreprocessBuild(BuildReport report) { var activeConfig = EditorAppConfig.ActiveAppConfig; foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnPreproccessBuild(activeConfig, report); } }
void UnityEditor.Android.IPostGenerateGradleAndroidProject.OnPostGenerateGradleAndroidProject(string gradlePath) { var activeConfig = EditorAppConfig.ActiveAppConfig; foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnPostGenerateGradleAndroidProject(activeConfig, gradlePath); } }
public static void CreateAppConfig() { // Making sure EditorAppConfig path exists string editorAppConfigAssetPath = Path.Combine(AppConfigPath, EditorAppConfigAssetName); string editorAppConfigDirectory = Path.GetDirectoryName(editorAppConfigAssetPath); if (Directory.Exists(editorAppConfigDirectory) == false) { Directory.CreateDirectory(editorAppConfigDirectory); } // Making sure Root Config path exists string rootConfigAssetPath = Path.Combine(ConfigsPath, RootConfigName); if (Directory.Exists(ConfigsPath) == false) { Directory.CreateDirectory(ConfigsPath); } EditorAppConfig editorAppConfig = null; if (File.Exists(editorAppConfigAssetPath) == false) { var rootConfig = ScriptableObject.CreateInstance <AppConfig>(); AssetDatabase.CreateAsset(rootConfig, rootConfigAssetPath); rootConfig = AssetDatabase.LoadAssetAtPath <AppConfig>(rootConfigAssetPath); editorAppConfig = ScriptableObject.CreateInstance <EditorAppConfig>(); editorAppConfig.rootConfig = rootConfig; editorAppConfig.defaultAppConfig = rootConfig; editorAppConfig.appConfigs = new List <AppConfig> { rootConfig }; AssetDatabase.CreateAsset(editorAppConfig, editorAppConfigAssetPath); EditorUtility.SetDirty(editorAppConfig); AssetDatabase.SaveAssets(); } else { editorAppConfig = AssetDatabase.LoadAssetAtPath <EditorAppConfig>(editorAppConfigAssetPath); } EditorBuildSettings.AddConfigObject(Namespace, editorAppConfig, true); }
private static void BuildPlayerHandler(BuildPlayerOptions options) { var activeConfig = EditorAppConfig.ActiveAppConfig; // Telling all the app configs that a user has started a build foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnUserBuildInitiated(activeConfig); } // Telling all the app configs to update player options foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { options = settings.ChangeBuildPlayerOptions(activeConfig, options); } BuildPipeline.BuildPlayer(options); }
private static void PlayModeStateChanged(PlayModeStateChange state) { if (EditorApplication.isPlaying == false && EditorApplication.isPlayingOrWillChangePlaymode) { WriteRuntimeConfigFile(); var activeConfig = EditorAppConfig.ActiveAppConfig; foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnEnteringPlayMode(activeConfig); } } else if (state == PlayModeStateChange.ExitingPlayMode) { var activeConfig = EditorAppConfig.ActiveAppConfig; foreach (var settings in EditorAppConfig.GetActiveConfigSettings()) { settings.OnExitingPlayMode(activeConfig); } } }