private static void EditCustomSettingsProperties() { GameObject prefab = Resources.Load <GameObject>(SpectatorView.SettingsPrefabName); GameObject hierarchyPrefab = null; if (prefab == null) { hierarchyPrefab = new GameObject(SpectatorView.SettingsPrefabName); hierarchyPrefab.AddComponent <BroadcasterSettings>(); hierarchyPrefab.AddComponent <SpatialLocalizationInitializationSettings>(); hierarchyPrefab.AddComponent <MobileRecordingSettings>(); hierarchyPrefab.AddComponent <NetworkConfigurationSettings>(); AssetCache.EnsureAssetDirectoryExists(); prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetPath(SpectatorView.SettingsPrefabName, ".prefab")); Object.DestroyImmediate(hierarchyPrefab); } else { GameObject editablePrefab = PrefabUtility.LoadPrefabContents(AssetCache.GetAssetPath(SpectatorView.SettingsPrefabName, ".prefab")); EnsureComponent <BroadcasterSettings>(editablePrefab); EnsureComponent <SpatialLocalizationInitializationSettings>(editablePrefab); EnsureComponent <MobileRecordingSettings>(editablePrefab); EnsureComponent <NetworkConfigurationSettings>(editablePrefab); PrefabUtility.SaveAsPrefabAsset(editablePrefab, AssetCache.GetAssetPath(SpectatorView.SettingsPrefabName, ".prefab")); PrefabUtility.UnloadPrefabContents(editablePrefab); } AssetDatabase.OpenAsset(prefab); }
private static void EditCustomSettingsProperties() { GameObject prefab = Resources.Load <GameObject>(SpectatorView.SettingsPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(SpectatorView.SettingsPrefabName); hierarchyPrefab.AddComponent <BroadcasterSettings>(); hierarchyPrefab.AddComponent <SpatialLocalizationInitializationSettings>(); hierarchyPrefab.AddComponent <MobileRecordingSettings>(); AssetCache.EnsureAssetDirectoryExists(); #if UNITY_2018_3_OR_NEWER prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetPath(SpectatorView.SettingsPrefabName, ".prefab")); #else prefab = PrefabUtility.CreatePrefab(AssetCache.GetAssetPath(StateSynchronizationSceneManager.SettingsPrefabName, ".prefab"), hierarchyPrefab); #endif Object.DestroyImmediate(hierarchyPrefab); } #if UNITY_2018_3_OR_NEWER AssetDatabase.OpenAsset(prefab); #else Selection.activeObject = prefab; #endif }
private static void EditCustomShaderProperties() { GameObject prefab = Resources.Load <GameObject>(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName); AssetCache.EnsureAssetDirectoryExists(); prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetPath(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName, ".prefab")); Object.DestroyImmediate(hierarchyPrefab); } AssetDatabase.OpenAsset(prefab); }
private static void EditGlobalPerformanceParameters() { GameObject prefab = Resources.Load <GameObject>(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName); hierarchyPrefab.AddComponent <DefaultStateSynchronizationPerformanceParameters>(); AssetCache.EnsureAssetDirectoryExists(); prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetPath(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName, ".prefab")); Object.DestroyImmediate(hierarchyPrefab); } AssetDatabase.OpenAsset(prefab); }
private static void EditCustomShaderProperties() { GameObject prefab = Resources.Load <GameObject>(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName); AssetCache.EnsureAssetDirectoryExists(); #if UNITY_2018_3_OR_NEWER prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetPath(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName, ".prefab")); #else prefab = PrefabUtility.CreatePrefab(AssetCache.GetAssetPath(StateSynchronizationSceneManager.CustomNetworkServicesPrefabName, ".prefab"), hierarchyPrefab); #endif Object.DestroyImmediate(hierarchyPrefab); } Selection.activeObject = prefab; }
private static void EditGlobalPerformanceParameters() { GameObject prefab = Resources.Load <GameObject>(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName); hierarchyPrefab.AddComponent <DefaultStateSynchronizationPerformanceParameters>(); AssetCache.EnsureAssetDirectoryExists(); #if UNITY_2018_3_OR_NEWER prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetPath(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName, ".prefab")); #else prefab = PrefabUtility.CreatePrefab(AssetCache.GetAssetPath(StateSynchronizationSceneManager.DefaultSynchronizationPerformanceParametersPrefabName, ".prefab"), hierarchyPrefab); #endif Object.DestroyImmediate(hierarchyPrefab); } Selection.activeObject = prefab; }