public override void OnEnter() { DatabaseResetOptions databaseResetOption = resetToInitialDatabase.Value ? DatabaseResetOptions.RevertToDefault : DatabaseResetOptions.KeepAllLoaded; PersistentDataManager.ApplySaveData(savegameData.Value, databaseResetOption); Finish(); }
public override void OnEnter() { DatabaseResetOptions databaseResetOption = resetToInitialDatabase.Value ? DatabaseResetOptions.RevertToDefault : DatabaseResetOptions.KeepAllLoaded; DialogueManager.ResetDatabase(databaseResetOption); Finish(); }
/// <summary> /// Resets the database to a default state. /// </summary> /// <param name='databaseResetOptions'> /// Accepts the following values: /// - RevertToDefault: Restores the default database, removing any other databases that /// were added after startup. /// - KeepAllLoaded: Keeps all loaded databases in memory, but reverts them to their /// starting values. /// </param> public static void ResetDatabase(DatabaseResetOptions databaseResetOptions) { if (!hasInstance) { return; } instance.ResetDatabase(databaseResetOptions); }
/// <summary> /// Loads a saved game by applying a saved-game string. /// </summary> /// <param name='saveData'> /// A saved-game string previously returned by GetSaveData(). /// </param> /// <param name='databaseResetOptions'> /// Database reset options. /// </param> public static void ApplySaveData(string saveData, DatabaseResetOptions databaseResetOptions = DatabaseResetOptions.KeepAllLoaded) { if (DialogueDebug.LogInfo) Debug.Log(string.Format("{0}: Resetting Lua environment.", new System.Object[] { DialogueDebug.Prefix })); DialogueManager.ResetDatabase(databaseResetOptions); if (DialogueDebug.LogInfo) Debug.Log(string.Format("{0}: Updating Lua environment with saved data.", new System.Object[] { DialogueDebug.Prefix })); Lua.Run(saveData, DialogueDebug.LogInfo); RefreshRelationshipAndStatusTablesFromLua(); Apply(); }
/// <summary> /// Resets the master database using the specified DatabaseResetOptions. /// </summary> /// <param name='databaseResetOptions'> /// Database reset options. /// - DatabaseResetOptions.RevertToDefault: Unloads everything and reloads only the default /// database. /// - DatabaseResetOptions.KeepAllLoaded: Keeps everything loaded but resets their values. /// </param> public void Reset(DatabaseResetOptions databaseResetOptions = DatabaseResetOptions.RevertToDefault) { switch (databaseResetOptions) { case DatabaseResetOptions.RevertToDefault: ResetToDefaultDatabase(); break; case DatabaseResetOptions.KeepAllLoaded: ResetToLoadedDatabases(); break; } }
public override void OnEnter() { if (DialogueManager.instance == null) { LogError("Dialogue System: Can't reset dialogue database because there is no Dialogue Manager in the scene."); } else { DatabaseResetOptions databaseResetOption = resetToInitialDatabase.Value ? DatabaseResetOptions.RevertToDefault : DatabaseResetOptions.KeepAllLoaded; DialogueManager.ResetDatabase(databaseResetOption); } Finish(); }
/// <summary> /// Loads a saved game by applying a saved-game string. /// </summary> /// <param name='saveData'> /// A saved-game string previously returned by GetSaveData(). /// </param> /// <param name='databaseResetOptions'> /// Database reset options. /// </param> public static void ApplySaveData(string saveData, DatabaseResetOptions databaseResetOptions = DatabaseResetOptions.KeepAllLoaded) { if (DialogueDebug.LogInfo) { Debug.Log(string.Format("{0}: Resetting Lua environment.", new System.Object[] { DialogueDebug.Prefix })); } DialogueManager.ResetDatabase(databaseResetOptions); if (DialogueDebug.LogInfo) { Debug.Log(string.Format("{0}: Updating Lua environment with saved data.", new System.Object[] { DialogueDebug.Prefix })); } Lua.Run(saveData, DialogueDebug.LogInfo); RefreshRelationshipAndStatusTablesFromLua(); Apply(); }
public override void OnEnter() { if (savegameData != null) { var saveSystem = GameObject.FindObjectOfType <SaveSystem>(); if (saveSystem != null) { var savedGameData = JsonUtility.FromJson <SavedGameData>(savegameData.Value); SaveSystem.LoadGame(savedGameData); } else { DatabaseResetOptions databaseResetOption = resetToInitialDatabase.Value ? DatabaseResetOptions.RevertToDefault : DatabaseResetOptions.KeepAllLoaded; PersistentDataManager.ApplySaveData(savegameData.Value, databaseResetOption); } } Finish(); }
/// <summary> /// Resets the Lua environment -- for example, when starting a new game. /// </summary> /// <param name='databaseResetOptions'> /// The database reset options can be: /// /// - RevertToDefault: Removes all but the default database, then resets it. /// - KeepAllLoaded: Keeps all loaded databases in memory and just resets them. /// </param> public static void Reset(DatabaseResetOptions databaseResetOptions) { DialogueManager.ResetDatabase(databaseResetOptions); }
/// <summary> /// Resets the database to a default state. /// </summary> /// <param name='databaseResetOptions'> /// Accepts the following values: /// - RevertToDefault: Restores the default database, removing any other databases that /// were added after startup. /// - KeepAllLoaded: Keeps all loaded databases in memory, but reverts them to their /// starting values. /// </param> public static void ResetDatabase(DatabaseResetOptions databaseResetOptions) { Instance.ResetDatabase(databaseResetOptions); }
/// <summary> /// Resets the database to a default state. /// </summary> /// <param name='databaseResetOptions'> /// Accepts the following values: /// - RevertToDefault: Restores the default database, removing any other databases that /// were added after startup. /// - KeepAllLoaded: Keeps all loaded databases in memory, but reverts them to their /// starting values. /// </param> public void ResetDatabase(DatabaseResetOptions databaseResetOptions) { if (databaseManager != null) databaseManager.Reset(databaseResetOptions); }
public override void OnEnter() { string level = (levelName == null) ? null : levelName.Value; if (string.IsNullOrEmpty(level)) { LogError("Level name is an empty string"); } else { if (dontDestroyOnLoad.Value) { var root = Owner.transform.root; UnityEngine.Object.DontDestroyOnLoad(root.gameObject); } var levelManager = GameObject.FindObjectOfType <LevelManager>(); if (levelManager != null && !resetDialogueDatabase) { levelManager.LoadLevel(level); } else { PersistentDataManager.LevelWillBeUnloaded(); if (resetDialogueDatabase) { DatabaseResetOptions databaseResetOption = resetToInitialDatabase ? DatabaseResetOptions.RevertToDefault : DatabaseResetOptions.KeepAllLoaded; DialogueManager.ResetDatabase(databaseResetOption); } else { if (resetToInitialDatabase) { LogWarning("Reset To Initial Database is ticked, but it has no effect because Reset Dialogue Database is unticked."); } PersistentDataManager.Record(); } #if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 if (async) { if (additive) { asyncOperation = Application.LoadLevelAdditiveAsync(level); } else { asyncOperation = Application.LoadLevelAsync(level); } return; // Don't finish yet. } else { if (additive) { Application.LoadLevelAdditive(level); } else { Application.LoadLevel(level); } #else if (async) { if (additive) { asyncOperation = SceneManager.LoadSceneAsync(level, LoadSceneMode.Additive); } else { asyncOperation = SceneManager.LoadSceneAsync(level); } return; // Don't finish yet. } else { if (additive) { SceneManager.LoadScene(level, LoadSceneMode.Additive); } else { SceneManager.LoadScene(level); } #endif } } } DoneLoadingLevel(); }
public override void OnEnter() { string level = (levelName == null) ? null : levelName.Value; if (string.IsNullOrEmpty(level)) { LogError("Level name is an empty string"); } else { if (dontDestroyOnLoad.Value) { var root = Owner.transform.root; UnityEngine.Object.DontDestroyOnLoad(root.gameObject); } DialogueLua.SetActorField("Player", "Spawnpoint", spawnpoint); var saveSystem = GameObject.FindObjectOfType <SaveSystem>(); if (saveSystem != null) { PersistentDataManager.LevelWillBeUnloaded(); SaveSystem.LoadScene(string.IsNullOrEmpty(spawnpoint.Value) ? levelName.Value : levelName.Value + "@" + spawnpoint.Value); } else { var levelManager = GameObject.FindObjectOfType <LevelManager>(); if (levelManager != null && !resetDialogueDatabase) { levelManager.LoadLevel(level); } else { PersistentDataManager.LevelWillBeUnloaded(); if (resetDialogueDatabase) { DatabaseResetOptions databaseResetOption = resetToInitialDatabase ? DatabaseResetOptions.RevertToDefault : DatabaseResetOptions.KeepAllLoaded; DialogueManager.ResetDatabase(databaseResetOption); } else { if (resetToInitialDatabase) { LogWarning("Reset To Initial Database is ticked, but it has no effect because Reset Dialogue Database is unticked."); } PersistentDataManager.Record(); } if (async) { if (additive) { asyncOperation = SceneManager.LoadSceneAsync(level, LoadSceneMode.Additive); } else { asyncOperation = SceneManager.LoadSceneAsync(level); } return; // Don't finish yet. } else { if (additive) { SceneManager.LoadScene(level, LoadSceneMode.Additive); } else { SceneManager.LoadScene(level); } } } } } DoneLoadingLevel(); }