Exemple #1
0
    /// <summary>
    /// Creates and returns transform save data.
    /// </summary>
    /// <returns></returns>
    public override object Save()
    {
        // Create the data
        TransformSaveData data = new TransformSaveData(transform);

        return(data);
    }
Exemple #2
0
        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());
    }
Exemple #4
0
    /// <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();
    }
Exemple #5
0
 public static void ApplySaveData(Transform transform, TransformSaveData data)
 {
     transform.transform.position = data.position;
     transform.transform.rotation = data.rotation;
 }