예제 #1
0
 private void Update()
 {
     if (particle.IsAlive() == false)
     {
         GameObjectPool.Recycle(gameObject);
     }
 }
예제 #2
0
        public override void Dispose()
        {
            if (this.IsDisposed)
            {
                return;
            }

            base.Dispose();

            GameObjectPool gameObjectPool = Game.Scene.GetComponent <GameObjectPool>();

            foreach (Unit unit in this.m_IdUnits.Values)
            {
                gameObjectPool.Recycle(unit);
            }
            gameObjectPool.Recycle(MyUnit);
            this.m_IdUnits.Clear();

            Instance = null;
        }
        public override void Dispose()
        {
            if (this.IsDisposed)
            {
                return;
            }
            base.Dispose();
#if SERVER
            foreach (var VARIABLE in ChildrenUnit)
            {
                VARIABLE.Dispose();
            }
#elif !SERVER
            GameObjectPool gameObjectPool = Game.Scene.GetComponent <GameObjectPool>();
            foreach (var VARIABLE in ChildrenUnit)
            {
                gameObjectPool.Recycle(VARIABLE);
            }
#endif

            ChildrenUnit.Clear();
        }
예제 #4
0
        private IEnumerator Delay()
        {
            yield return(new WaitForSeconds(delay));

            GameObjectPool.Recycle(gameObject);
        }