static public void Register(ITE3UniqueInstance instance) { #if UNITY_EDITOR if (string.IsNullOrEmpty(instance.GetGUID()) || instance.GetGUID() == System.Guid.Empty.ToString("N")) { instance.SetGUID(NewGUID()); } if (ms_InstanceMap.ContainsKey(instance.GetGUID())) { Debug.LogFormat(instance as Object, "Making instance {0}, unique.", instance); instance.MakeUnique(NewGUID()); } ms_InstanceMap[instance.GetGUID()] = instance; #endif }
static public void Unregister(ITE3UniqueInstance instance) { #if UNITY_EDITOR if (!ms_InstanceMap.ContainsKey(instance.GetGUID())) { Debug.LogErrorFormat("Trying to unregister unknown guid: {0}", instance.GetGUID()); return; } if (ms_InstanceMap[instance.GetGUID()] != instance) { Debug.LogErrorFormat("Trying to unregister guid {0} associated with {1}, however guid was registered by {2}.", instance.GetGUID(), instance, ms_InstanceMap[instance.GetGUID()]); return; } ms_InstanceMap.Remove(instance.GetGUID()); #endif }