示例#1
0
    public SettingsSaveClass SaveSettings()
    {
        SettingsSaveClass settingsSave = new SettingsSaveClass();

        settingsSave.bestLevel    = Mathf.Max(settingsSave.bestLevel, currentTowerLevel.value);
        settingsSave.musicVolume  = musicVolume.value;
        settingsSave.effectVolume = effectVolume.value;

        return(settingsSave);
    }
示例#2
0
    /// <summary>
    /// Loads the settings from the data loaded by the SaveController.
    /// </summary>
    public void LoadSettings()
    {
        SettingsSaveClass settingsSave = SaveController.instance.saveFiles.settingsSave;

        musicVolume.value  = settingsSave.musicVolume;
        effectVolume.value = settingsSave.effectVolume;

        loadCheckEvent.Invoke();
        Debug.Log("LOADED");
    }
示例#3
0
    /// <summary>
    /// Saves the settings to the data in the SaveController for saving.
    /// </summary>
    public void SaveSettings()
    {
        SettingsSaveClass settingsSave = new SettingsSaveClass();

        settingsSave.musicVolume  = musicVolume.value;
        settingsSave.effectVolume = effectVolume.value;

        SaveController.instance.saveFiles.settingsSave = settingsSave;
        saveCheckEvent.Invoke();
        Debug.Log("SAVED");
    }
 void CreateInfo(int saveCount)
 {
     this.saveCount = saveCount;
     settingsSave   = new SettingsSaveClass();
     playerSave     = new PlayerStatsSaveClass[saveCount];
     triggerSave    = new TriggerSaveClass[saveCount];
     for (int i = 0; i < saveCount; i++)
     {
         playerSave[i]  = new PlayerStatsSaveClass();
         triggerSave[i] = new TriggerSaveClass();
     }
 }
    /// <summary>
    /// Updates the save class and saves it to file.
    /// </summary>
    public void Save()
    {
        XmlWriterSettings xmlWriterSettings = new XmlWriterSettings()
        {
            Indent = true
        };
        XmlSerializer serializer;

        if (settingsValues != null)
        {
            serializer = new XmlSerializer(typeof(SettingsSaveClass));

            SettingsSaveClass settingsSave = settingsValues.SaveSettings();

            using (XmlWriter xmlWriter = XmlWriter.Create(settingsPath, xmlWriterSettings)) {
                serializer.Serialize(xmlWriter, settingsSave);
            }
            // file.Close();
            Debug.Log("Successfully saved the settings!");
        }

        if (playerStats != null)
        {
            serializer = new XmlSerializer(typeof(PlayerStatsSaveClass));
            PlayerStatsSaveClass playerSave = playerStats.SaveStats();
            using (XmlWriter xmlWriter = XmlWriter.Create(playerStatsPath, xmlWriterSettings)) {
                serializer.Serialize(xmlWriter, playerSave);
            }
            // file.Close();
            Debug.Log("Successfully saved the player stats!");
        }

        if (triggerController != null)
        {
            serializer = new XmlSerializer(typeof(TriggerSaveClass));
            TriggerSaveClass triggerSave = triggerController.SaveTriggers();
            using (XmlWriter xmlWriter = XmlWriter.Create(triggerPath, xmlWriterSettings)) {
                serializer.Serialize(xmlWriter, triggerSave);
            }
            // file.Close();
            Debug.Log("Successfully saved the trigger stats!");
        }
    }
    /// <summary>
    /// Reads the save file if it exists and sets the values.
    /// </summary>
    public void Load()
    {
        if (!loadGame)
        {
            return;
        }

        //Settings data
        if (settingsValues != null)
        {
            if (settingsValues != null && File.Exists(settingsPath))
            {
                XmlSerializer     serializer   = new XmlSerializer(typeof(SettingsSaveClass));
                FileStream        file         = File.Open(settingsPath, FileMode.Open);
                SettingsSaveClass settingsSave = serializer.Deserialize(file) as SettingsSaveClass;
                file.Close();

                settingsValues.LoadSettings(settingsSave);

                Debug.Log("Successfully loaded the settings!");
            }
            else
            {
                Debug.LogWarning("Could not open the file: " + settingsPath);
                Save();
            }
        }
        else
        {
            Debug.LogWarning("No settings object");
        }

        //Player data
        if (playerStats != null)
        {
            if (File.Exists(playerStatsPath))
            {
                XmlSerializer        serializer = new XmlSerializer(typeof(PlayerStatsSaveClass));
                FileStream           file       = File.Open(playerStatsPath, FileMode.Open);
                PlayerStatsSaveClass playerSave = serializer.Deserialize(file) as PlayerStatsSaveClass;
                file.Close();

                playerStats.LoadStats(playerSave);

                Debug.Log("Successfully loaded the player stats!");
            }
            else
            {
                Debug.LogWarning("Could not open the file: " + playerStatsPath);
                Save();
            }
        }
        else
        {
            Debug.LogWarning("No player stats object");
        }

        //Trigger data
        if (triggerController != null)
        {
            if (File.Exists(triggerPath))
            {
                XmlSerializer    serializer  = new XmlSerializer(typeof(TriggerSaveClass));
                FileStream       file        = File.Open(triggerPath, FileMode.Open);
                TriggerSaveClass triggerSave = serializer.Deserialize(file) as TriggerSaveClass;
                file.Close();

                triggerController.LoadTriggers(triggerSave);

                Debug.Log("Successfully loaded the triggers!");
            }
            else
            {
                Debug.LogWarning("Could not open the file: " + triggerPath);
                Save();
            }
        }
        else
        {
            Debug.LogWarning("No trigger object");
        }
    }
示例#7
0
 public void LoadSettings(SettingsSaveClass settingsSave)
 {
     bestTowerLevel.value = settingsSave.bestLevel;
     musicVolume.value    = settingsSave.musicVolume;
     effectVolume.value   = settingsSave.effectVolume;
 }