Exemplo n.º 1
0
    void LoadSaves()
    {
        filepath = JsonManager.GetCurrentPath();

        if (Directory.Exists(filepath))
        {
            di = new DirectoryInfo(filepath);
            fi = di.GetFiles("Save?.sav");

            if (fi.Length > 0)
            {
                EmptyText.gameObject.SetActive(false);

                for (int i = 0; i < fi.Length; i++)
                {
                    JsonManager.DeserializeData(fi[i].Name);
                    GameObject savedGame = Instantiate(SavedGamePrefab);
                    savedGame.transform.SetParent(SavedGameContent);
                    savedGame.transform.localScale = new Vector3(1, 1, 1);
                    savedGame.transform.SetSiblingIndex(0);
                    string scene = (string)JsonManager.Json()["scene"];
                    string date  = (string)JsonManager.Json()["dateTime"];
                    savedGame.GetComponent <SavedGame>().SetSavedGame(fi[i].Name, scene, date);
                    saveCache.Add(savedGame);
                }
            }
            else
            {
                EmptyText.gameObject.SetActive(true);
            }
        }
    }
Exemplo n.º 2
0
    void Start()
    {
        inventory  = GetComponent <Inventory>();
        objectives = GetComponent <ObjectiveManager>();
        player     = GetComponent <HFPS_GameManager>().Player;
        switcher   = player.GetComponentInChildren <ScriptManager>().GetScript <ItemSwitcher>();

        JsonManager.Settings(SaveLoadSettings, true);

        if (saveableDataPairs.Any(pair => pair.Instance == null))
        {
            Debug.LogError("[SaveGameHandler] Some of Saveable Instances are missing or it's destroyed. Please select Setup SaveGame again from the Tools menu!");
            return;
        }

        if (Prefs.Exist(Prefs.LOAD_STATE))
        {
            int loadstate = Prefs.Game_LoadState();

            if (loadstate == 0)
            {
                DeleteNextLvlData();
            }
            else if (loadstate == 1 && Prefs.Exist(Prefs.LOAD_SAVE_NAME))
            {
                string filename = Prefs.Game_SaveName();

                if (File.Exists(JsonManager.GetFilePath(FilePath.GameSavesPath) + filename))
                {
                    JsonManager.DeserializeData(filename);
                    string loadScene = (string)JsonManager.Json()["scene"];
                    lastSave = filename;

                    if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == loadScene)
                    {
                        LoadSavedSceneData(true);
                    }
                }
                else
                {
                    Debug.Log("<color=yellow>[SaveGameHandler]</color> Could not find load file: " + filename);
                    Prefs.Game_LoadState(0);
                }
            }
            else if (loadstate == 2 && Prefs.Exist(Prefs.LOAD_SAVE_NAME) && dataBetweenScenes)
            {
                JsonManager.ClearArray();
                Prefs.Game_SaveName("_NextSceneData.sav");

                if (File.Exists(JsonManager.GetFilePath(FilePath.GameDataPath) + "_NextSceneData.sav"))
                {
                    JsonManager.DeserializeData(FilePath.GameDataPath, "_NextSceneData.sav");
                    LoadSavedSceneData(false);
                }
            }
        }
    }
Exemplo n.º 3
0
    void Start()
    {
        switcher        = Camera.main.transform.root.GetComponentInChildren <ScriptManager>().GetScript <ItemSwitcher>();
        saveableObjects = FindObjectsOfType <SaveObject>();

        JsonManager.Settings(SaveLoadSettings);
        JsonManager.EnableDebugging(true);

        if (PlayerPrefs.HasKey("LoadGame"))
        {
            loadGame = Convert.ToBoolean(PlayerPrefs.GetInt("LoadGame"));

            if (loadGame && PlayerPrefs.HasKey("LoadSaveName"))
            {
                string filename = PlayerPrefs.GetString("LoadSaveName");

                if (File.Exists(JsonManager.FolderPath(FilePath.GameSavesPath) + filename))
                {
                    JsonManager.DeserializeData(filename);
                    string loadScene = (string)JsonManager.Json()["scene"];
                    lastSave = filename;

                    if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == loadScene)
                    {
                        LoadSavedSceneData(true);
                    }
                }
                else
                {
                    Debug.Log("No load found: " + filename);
                    loadGame = false;
                }
            }

            if (!loadGame && dataBetweenScenes)
            {
                JsonManager.Clear();

                if (File.Exists(JsonManager.FolderPath(FilePath.GameDataPath) + "_nextSceneData.dat"))
                {
                    JsonManager.DeserializeData(FilePath.GameDataPath, "_nextSceneData.dat");
                    LoadSavedSceneData(false);
                }
            }
        }

        if (fadeControl)
        {
            fadeControl.FadeOutPanel();
        }
    }