Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

SerializableGuid.cs 994B

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