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();
 }
Example #5
0
 /// <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;
     }
 }
Example #6
0
 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();
 }
Example #7
0
 /// <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();
 }
Example #8
0
 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);
 }
Example #10
0
 /// <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);
 }
Example #11
0
 /// <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;
     }
 }
 /// <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);
 }
Example #13
0
        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();
        }
Example #14
0
        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();
        }
Example #15
0
 /// <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);
 }
Example #16
0
 /// <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);
 }