A game about forced loneliness, made by TACStudios
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}