Task IDatabaseAgent.CreateScene(DatabaseScene scene) { var collection = database.GetCollection <DatabaseScene>("scenes"); collection.InsertOne(scene); return(Task.FromResult(true)); }
public ServerSceneActor(DatabaseScene dscene, DatabaseAgentRef database, IConnection conn) { _logger = LogManager.GetLogger($"[Scene: {dscene.ServerName}]"); _serverName = dscene.ServerName; _sceneName = dscene.SceneName; _bundleId = dscene.BundleId; _database = database; _conn = conn; _localId = dscene.LocalId; _ownerId = Guid.Empty; }
public ServerSceneActor(DatabaseScene dscene, IDatabaseAgent database, IConnection conn) : base(dscene.LocalId, GenerateGuids.GetActorGuid(TYPEACTOR.EMPTY)) { _logger = LogManager.GetLogger($"[Scene: {dscene.ServerName}]"); _serverName = dscene.ServerName; _sceneName = dscene.SceneName; _bundleId = dscene.BundleId; _database = database; _conn = conn; _logger.Info("is online"); }
async Task IDatabaseAgent.CreateScene(DatabaseScene scene) { var collection = database.GetCollection <DatabaseScene>("scenes"); collection.InsertOne(scene); }
public static void CB_Scene_UpdateDatabase() { cb_scenes_displayProgressBar = true; cb_scenes_action = "Part 1 of 3: Getting scenes database..."; cb_scenes_progress = 1 / 2; if (!E_Helpers.DirExists(string.Format("Assets{0}Resources{0}ScenesDatabase{0}", Path.DirectorySeparatorChar))) { E_Helpers.CreateDirectory(string.Format("Assets{0}Resources{0}ScenesDatabase{0}", Path.DirectorySeparatorChar)); } SceneDatabase database; if (E_Helpers.FileExists(string.Format("Assets{0}Resources{0}ScenesDatabase{0}ScenesDatabase.asset", Path.DirectorySeparatorChar))) { database = (SceneDatabase)AssetDatabase.LoadAssetAtPath(string.Format("Assets{0}Resources{0}ScenesDatabase{0}ScenesDatabase.asset", Path.DirectorySeparatorChar), typeof(SceneDatabase)); } else { database = ScriptableObject.CreateInstance <SceneDatabase>(); AssetDatabase.CreateAsset(database, string.Format("Assets{0}Resources{0}ScenesDatabase{0}ScenesDatabase.asset", Path.DirectorySeparatorChar)); } cb_scenes_action = "Part 1 of 3: Gathering Scenes List..."; cb_scenes_progress = 2 / 2; List <DatabaseScene> scenes = (database.storedScenesData != null) ? database.storedScenesData : new List <DatabaseScene>(); scenes = scenes.Where(item => item != null).ToList(); EditorBuildSettingsScene[] editorScenes = EditorBuildSettings.scenes; for (int i = 0; i < editorScenes.Length; i++) { string sceneName = editorScenes[i].path.Split('/')[editorScenes[i].path.Split('/').Length - 1]; sceneName = sceneName.Replace(".unity", ""); cb_scenes_action = "Part 2 of 3: Adding Scene: " + sceneName; cb_scenes_progress = i / editorScenes.Length; int foundSceneIndex = scenes.FindIndex(target => target.name == sceneName); if (foundSceneIndex > -1) { scenes[foundSceneIndex].path = editorScenes[i].path; scenes[foundSceneIndex].index = i; scenes[foundSceneIndex].enabled = editorScenes[i].enabled; EditorUtility.SetDirty(scenes[foundSceneIndex]); } else { DatabaseScene newScene = ScriptableObject.CreateInstance <DatabaseScene>(); newScene.name = sceneName; newScene.path = editorScenes[i].path; newScene.sceneName = sceneName; newScene.index = i; newScene.enabled = editorScenes[i].enabled; AssetDatabase.CreateAsset(newScene, string.Format("Assets{0}Resources{0}ScenesDatabase{0}{1}.asset", Path.DirectorySeparatorChar, sceneName)); Debug.Log("Create " + sceneName + " scene asset."); scenes.Add(newScene); Debug.Log("Added " + sceneName + " scene asset to scene database."); } } SetAllLoadPointsInAllScenes(ref scenes); cb_scenes_action = "Part 3 of 3: Saving built database.. "; cb_scenes_progress = 1 / 1; database.storedScenesData = scenes; EditorUtility.SetDirty(database); AssetDatabase.SaveAssets(); cb_scenes_displayProgressBar = false; GameObject roomButton = E_Helpers.GetPrefabReference("Assets/InvectorMultiplayer/UI/RoomButton.prefab"); roomButton.GetComponent <RoomButton>().database = database; E_Helpers.SaveAsPrefab(roomButton, "Assets/InvectorMultiplayer/UI/RoomButton.prefab"); if (EditorUtility.DisplayDialog("Success!", "The scene database has successfully been updated!", "Okay")) { } Debug.Log("Successfully updated the ScenesDatabase!"); }