public void OnProtoDeserialize(ProtobufSerializer serializer) { Log.Info("// ****************************** Load Data *********************************** //"); if (ID != null) { Log.Info($"Loading ARSolutions {ID}"); string filePath = FilesHelper.GenerateSaveFileString(ID); if (File.Exists(filePath)) { string savedDataJson = File.ReadAllText(filePath).Trim(); //LoadData var savedData = JsonConvert.DeserializeObject <SaveData>(savedDataJson); HasBreakerTripped = savedData.HasBreakerTripped; LiveMixin.health = savedData.Health; Charge = savedData.Charge; _currentSpeed = savedData.CurrentSpeed; _turbine.transform.Rotate(Vector3.forward, savedData.DegPerSec); _targetRotation = savedData.TurbineRot.TargetRotationToQuaternion(); _currentBiome = savedData.Biome; _passedTime = savedData.PassedTime; AISolutionsData.StartingRotation = _targetRotation; } } else { Log.Error("PrefabIdentifier is null"); } Log.Info("// ****************************** Loaded Data *********************************** //"); }
public void OnProtoSerialize(ProtobufSerializer serializer) { if (!Directory.Exists(Information.GetSaveFileDirectory())) { Directory.CreateDirectory(Information.GetSaveFileDirectory()); } var saveData = new SaveData { HasBreakerTripped = HasBreakerTripped, TurbineRot = new TargetRotation(_targetRotation), Health = LiveMixin.health, Charge = Charge, DegPerSec = GetBiomeData(_currentBiome).Speed, Biome = _currentBiome, CurrentSpeed = _currentSpeed, PassedTime = _passedTime }; var output = JsonConvert.SerializeObject(saveData, Formatting.Indented); File.WriteAllText(FilesHelper.GenerateSaveFileString(ID), output); LoadItems.CleanOldSaveData(); }