48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace Beyond
|
|
{
|
|
[Serializable]
|
|
public class GuidObject
|
|
{
|
|
[SerializeField] private System.Guid m_guid;
|
|
[SerializeField] private string m_guidAsString;
|
|
|
|
public System.Guid guid
|
|
{
|
|
get
|
|
{
|
|
if (m_guid == System.Guid.Empty)
|
|
{
|
|
if (!System.String.IsNullOrEmpty(m_guidAsString))
|
|
{
|
|
m_guid = new System.Guid(m_guidAsString);
|
|
}
|
|
else
|
|
{
|
|
Debug.LogWarning("GUID was null for node. Generating...");
|
|
GenerateGUID();
|
|
}
|
|
}
|
|
return m_guid;
|
|
}
|
|
}
|
|
public bool IsGenerated
|
|
{
|
|
get { return m_guid != System.Guid.Empty; }
|
|
}
|
|
public void GenerateGUID()
|
|
{
|
|
if (m_guid != System.Guid.Empty)
|
|
return;
|
|
if (!System.String.IsNullOrEmpty(m_guidAsString))
|
|
{
|
|
m_guid = new System.Guid(m_guidAsString);
|
|
return;
|
|
}
|
|
m_guid = System.Guid.NewGuid();
|
|
m_guidAsString = m_guid.ToString();
|
|
}
|
|
}
|
|
} |