A game about forced loneliness, made by TACStudios
at master 39 lines 1.0 kB view raw
1using UnityEngine; 2 3namespace UnityEditor.U2D.Animation 4{ 5 internal class CacheObject : BaseObject, ISerializationCallbackReceiver 6 { 7 public static T Create<T>(Cache owner) where T : CacheObject 8 { 9 var cacheObject = CreateInstance<T>(); 10 cacheObject.hideFlags = HideFlags.HideAndDontSave; 11 cacheObject.owner = owner; 12 cacheObject.name = cacheObject.GetType().ToString(); 13 return cacheObject; 14 } 15 16 [SerializeField] 17 Cache m_Owner; 18 19 public Cache owner 20 { 21 get { return m_Owner; } 22 set { m_Owner = value; } 23 } 24 25 void ISerializationCallbackReceiver.OnAfterDeserialize() 26 { 27 OnAfterDeserialize(); 28 } 29 30 void ISerializationCallbackReceiver.OnBeforeSerialize() 31 { 32 OnBeforeSerialize(); 33 } 34 35 internal virtual void OnCreate() {} 36 protected virtual void OnAfterDeserialize() {} 37 protected virtual void OnBeforeSerialize() {} 38 } 39}