public void Load() { if (File.Exists(_saveFilePath) && new FileInfo(_saveFilePath).Length != 0) { var bf = new BinaryFormatter(); var file = File.Open(_saveFilePath, FileMode.Open); PlayerData data = (PlayerData)bf.Deserialize(file); file.Close(); _maxLevel = data.MaxLevel; _level = data.Level; _money = data.Money; _lastTime = data.LastTime; _firstLaunch = data.FirstLaunch; _tutorialCompleted = data.TutorialCompleted; UpgradesController.Instance.UpgradesDictionary = data.Upgrades; MoneyConverter.Notation = data.Notation; _prestigeCrystals = data.PrestigeCrystals; _prestigeCrystalsMultiplier = data.PrestigeCrystalsMultiplier; _totalMoneyEarned = data.TotalMoneyEarned; DailyRewards dailyRewards = GetComponent <DailyRewards>(); dailyRewards.LoadLastClaimTime(data.LastClaimTime); dailyRewards.LoadClaimCount(data.ClaimCount); SerializableOre.DeserializeOres(data.Items); } else if (!File.Exists(_saveFilePath)) { File.Create(_saveFilePath).Dispose(); } }
//Save & Load ----------------------------------------------------------------------------- public void Save() { var bf = new BinaryFormatter(); var file = File.Open(_saveFilePath, FileMode.Open); PlayerData data = new PlayerData(); data.MaxLevel = _maxLevel; data.Level = _level; data.Money = _money; data.LastTime = (DateTime.UtcNow - EpochTimeStart).TotalSeconds; data.Items = SerializableOre.ConvertToSerializable(EquipmentController.Instance.Items); data.Upgrades = UpgradesController.Instance.UpgradesDictionary; data.TutorialCompleted = _tutorialCompleted; data.FirstLaunch = false; data.Notation = MoneyConverter.Notation; data.PrestigeCrystals = _prestigeCrystals; data.PrestigeCrystalsMultiplier = _prestigeCrystalsMultiplier; data.TotalMoneyEarned = _totalMoneyEarned; DailyRewards dailyRewards = GetComponent <DailyRewards>(); data.LastClaimTime = dailyRewards.GetLastClaimTime(); data.ClaimCount = dailyRewards.GetClaimCount(); bf.Serialize(file, data); file.Close(); }