コード例 #1
0
            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
            }
コード例 #2
0
            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
            }