/// <summary> /// Creates and returns transform save data. /// </summary> /// <returns></returns> public override object Save() { // Create the data TransformSaveData data = new TransformSaveData(transform); return(data); }
public void ApplySaveData(SaveService.SavedGameObject savedData) { if (savedData.savedData.ContainsKey(TransformSaveData.Key)) { TransformSaveData.ApplySaveData(gameObject.transform, (TransformSaveData)savedData.savedData[TransformSaveData.Key]); } if (savedData.savedData.ContainsKey(RigidBodySaveData.Key)) { RigidBodySaveData.ApplySaveData(gameObject.GetComponent <Rigidbody>(), (RigidBodySaveData)savedData.savedData[RigidBodySaveData.Key]); } if (savedData.savedData.ContainsKey(AnimatorSaveData.Key)) { AnimatorSaveData.ApplySaveData(gameObject.GetComponent <Animator>(), (AnimatorSaveData)savedData.savedData[AnimatorSaveData.Key]); } foreach (ISaveableObject saveObject in GetComponents <ISaveableObject>()) { if (!savedData.savedData.ContainsKey(saveObject.SaveDataKey)) { continue; } saveObject.ApplySaveData(savedData.savedData[saveObject.SaveDataKey]); } }
public override void Load(object serializedObj) { TransformSaveData data = serializedObj as TransformSaveData; transform.localScale = data.GetLocalScale(); transform.localRotation = data.GetLocalRotation(); gridMover.SetPosition(data.GetGlobalPosition()); }
/// <summary> /// Load the transform data from the serialized object and /// reapply the loaded data to the active tranform. /// </summary> /// <param name="serializedObj">object with the transform's saved data</param> public override void Load(object serializedObj) { // Cast to the correct data type TransformSaveData data = serializedObj as TransformSaveData; // Put the transform back to their previous position transform.localPosition = data.GetLocalPosition(); // Rescale the transform transform.localScale = data.GetLocalScale(); // Reapply the rotation transform.localRotation = data.GetLocalRotation(); }
public static void ApplySaveData(Transform transform, TransformSaveData data) { transform.transform.position = data.position; transform.transform.rotation = data.rotation; }