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 static void ApplySaveData(Rigidbody rigidbody, RigidBodySaveData data) { rigidbody.velocity = data.velocity; rigidbody.angularVelocity = data.angularVelocity; }