コード例 #1
0
        public void Change(string name)
        {
            if (currentName == name)
            {
                return;
            }

            var prefab = settings.Prefabs.FirstOrDefault(x => x.name == name);

            if (prefab == null)
            {
                Debug.unityLogger.LogError(GetType().Name, $"prefab is null");
                return;
            }

            if (instance != null)
            {
                UnityEngine.Object.DestroyImmediate(instance);
            }

            instance = UnityEngine.Object.Instantiate(prefab);
            instance.OnRelease(Vector3.zero);

            currentName = name;
        }
コード例 #2
0
 void IDisposable.Dispose()
 {
     UnityEngine.Object.DestroyImmediate(instance);
     instance = null;
 }