// Visible for testing internal void SaveEditorConfiguration(QuickDeployWindow.ToolBarSelectedButton currentTab, EditorConfiguration configuration, string editorConfigurationPath) { switch (currentTab) { case QuickDeployWindow.ToolBarSelectedButton.CreateBundle: configuration.assetBundleFileName = AssetBundleFileName; break; case QuickDeployWindow.ToolBarSelectedButton.DeployBundle: configuration.cloudCredentialsFileName = CloudCredentialsFileName; configuration.assetBundleFileName = AssetBundleFileName; configuration.cloudStorageBucketName = CloudStorageBucketName; configuration.cloudStorageObjectName = CloudStorageObjectName; break; default: throw new ArgumentOutOfRangeException("currentTab", currentTab, "Can't save editor configurations from this tab."); } // Shouldn't hurt to write to persistent storage as long as SaveEditorConfiguration(currentTab) is only called // when a major action happens. File.WriteAllText(editorConfigurationPath, JsonUtility.ToJson(configuration)); }
// Visible for testing internal void SaveEngineConfiguration(QuickDeployWindow.ToolBarSelectedButton currentTab, LoadingScreenConfig.EngineConfiguration configuration, string engineConfigurationPath) { switch (currentTab) { case QuickDeployWindow.ToolBarSelectedButton.LoadingScreen: configuration.assetBundleUrl = AssetBundleUrl; break; default: throw new ArgumentOutOfRangeException("currentTab", currentTab, "Can't save engine configurations from this tab."); } Directory.CreateDirectory(ResourcesDirectoryPath); // Shouldn't hurt to write to persistent storage as long as SaveEngineConfiguration(currentTab) is only called // when a major action happens. File.WriteAllText(engineConfigurationPath, JsonUtility.ToJson(configuration)); }
/// <summary> /// Store configuration from the current quick deploy tab to persistent storage. /// </summary> /// <exception cref="ArgumentOutOfRangeException">Thrown if tab shouldn't have input fields.</exception> public void SaveConfiguration(QuickDeployWindow.ToolBarSelectedButton currentTab) { switch (currentTab) { case QuickDeployWindow.ToolBarSelectedButton.CreateBundle: SaveEditorConfiguration(QuickDeployWindow.ToolBarSelectedButton.CreateBundle, EditorConfig, EditorConfigurationFilePath); break; case QuickDeployWindow.ToolBarSelectedButton.DeployBundle: SaveEditorConfiguration(QuickDeployWindow.ToolBarSelectedButton.DeployBundle, EditorConfig, EditorConfigurationFilePath); break; case QuickDeployWindow.ToolBarSelectedButton.LoadingScreen: SaveEngineConfiguration(QuickDeployWindow.ToolBarSelectedButton.LoadingScreen, EngineConfig, EngineConfigurationFilePath); break; default: throw new ArgumentOutOfRangeException("currentTab", currentTab, "Can't save from this tab."); } }