public void PlayerDisconnect() { IsOfflineSaveLoaded = false; if (!NetworkManager.IsHost()) { if (offlineSave != null) { SaveGameManager.data.SetJObject(SaveGameKeys.Cars, JObject.Parse(offlineSave.SaveDataCars)); SaveGameManager.data.SetObject(SaveGameKeys.Jobs, offlineSave.SaveDataJobs, JobSaveManager.serializeSettings); SaveGameManager.data.SetJObject(SaveGameKeys.Junctions, JObject.Parse(offlineSave.SaveDataSwitches)); SaveGameManager.data.SetJObject(SaveGameKeys.Turntables, JObject.Parse(offlineSave.SaveDataTurntables)); SaveGameManager.data.SetJObject("Debt_deleted_locos", JObject.Parse(offlineSave.SaveDataDestroyedLocoDebt)); SaveGameManager.data.SetJObject("Debt_staged_jobs", JObject.Parse(offlineSave.SaveDataStagedJobDebt)); SaveGameManager.data.SetJObject("Debt_jobless_cars", JObject.Parse(offlineSave.SaveDataDeletedJoblessCarsDept)); SaveGameManager.data.SetJObject("Debt_insurance", JObject.Parse(offlineSave.SaveDataInsuranceDept)); SaveGameManager.data.SetVector3("Player_position", offlineSave.SaveDataPosition); offlineSave = null; SaveGameUpgrader.Upgrade(); } SingletonBehaviour <CoroutineManager> .Instance.Run(LoadOfflineSave()); } else { CarSpawner.useCarPooling = true; SingletonBehaviour <SaveGameManager> .Instance.disableAutosave = false; IsOfflineSaveLoaded = true; } }
internal void CreateOfflineBackup() { offlineSave = new OfflineSaveGame() { SaveDataCars = SaveGameManager.data.GetJObject(SaveGameKeys.Cars).ToString(Formatting.None), SaveDataJobs = SaveGameManager.data.GetObject <JobsSaveGameData>(SaveGameKeys.Jobs, JobSaveManager.serializeSettings), SaveDataSwitches = SaveGameManager.data.GetJObject(SaveGameKeys.Junctions).ToString(Formatting.None), SaveDataTurntables = SaveGameManager.data.GetJObject(SaveGameKeys.Turntables).ToString(Formatting.None), SaveDataDestroyedLocoDebt = SaveGameManager.data.GetJObject("Debt_deleted_locos").ToString(Formatting.None), SaveDataStagedJobDebt = SaveGameManager.data.GetJObject("Debt_staged_jobs").ToString(Formatting.None), SaveDataDeletedJoblessCarsDept = SaveGameManager.data.GetJObject("Debt_jobless_cars").ToString(Formatting.None), SaveDataInsuranceDept = SaveGameManager.data.GetJObject("Debt_insurance").ToString(Formatting.None), SaveDataPosition = PlayerManager.PlayerTransform.position - WorldMover.currentMove }; }