コード例 #1
0
ファイル: Pool.cs プロジェクト: decentraland/unity-renderer
        public PoolableObject Get()
        {
            // These extra instantiations during initialization are to populate pools that will be used a lot later
            if (PoolManager.i.initializing)
            {
                int count = usedObjectsCount;

                for (int i = unusedObjectsCount; i < Mathf.Min(count * PREWARM_ACTIVE_MULTIPLIER, maxPrewarmCount); i++)
                {
                    Instantiate();
                }

                Instantiate();
            }
            else if (unusedObjects.Count == 0)
            {
                Instantiate();
            }

            PoolableObject poolable = Extract();

            EnablePoolableObject(poolable);
            poolable.OnPoolGet();
            return(poolable);
        }
コード例 #2
0
        public PoolableObject Get()
        {
            if (PoolManager.i.initializing)
            {
                int count = usedObjectsCount;

                for (int i = unusedObjectsCount; i < Mathf.Min(count * PREWARM_ACTIVE_MULTIPLIER, maxPrewarmCount); i++)
                {
                    Instantiate();
                }

                Instantiate();
            }
            else if (unusedObjects.Count == 0)
            {
                Instantiate();
            }

            PoolableObject poolable = Extract();

            EnablePoolableObject(poolable);
            poolable.OnPoolGet();
            return(poolable);
        }