A game about forced loneliness, made by TACStudios
1using System;
2using UnityEngine;
3
4namespace UnityEditor.ShaderGraph
5{
6 [Serializable]
7 class SerializableGuid : ISerializationCallbackReceiver
8 {
9 public SerializableGuid()
10 {
11 m_Guid = Guid.NewGuid();
12 }
13
14 public SerializableGuid(Guid guid)
15 {
16 m_Guid = guid;
17 }
18
19 [NonSerialized]
20 private Guid m_Guid;
21
22 [SerializeField]
23 private string m_GuidSerialized;
24
25 public Guid guid
26 {
27 get { return m_Guid; }
28 internal set { m_Guid = value; } // allow id to be overwritten when necessary
29 }
30
31 public virtual void OnBeforeSerialize()
32 {
33 m_GuidSerialized = m_Guid.ToString();
34 }
35
36 public virtual void OnAfterDeserialize()
37 {
38 if (!string.IsNullOrEmpty(m_GuidSerialized))
39 m_Guid = new Guid(m_GuidSerialized);
40 else
41 m_Guid = Guid.NewGuid();
42 }
43 }
44}