コード例 #1
0
        // Create pools of the enemies that we have in our container.
        public void InitializeWithPooler(IPoolManager pooler, int poolSize)
        {
            this.pooler = pooler;

            // Instantiate the enemies and set up their properties.
            for (int i = 0; i < enemyPrefabs.Length; i++)
            {
                PooledObject[] poolContainer = pooler.CreatePool(enemyPrefabs[i], poolSize);
                foreach (PooledObject poolObj in poolContainer)
                {
                    // Initialize features of the enemies.
                    IScore scorer = poolObj.GetComponent <IScore>();
                    if (scorer != null)
                    {
                        scorer.Initialize(scoreManager);
                    }
                    IPoolUser poolUser = poolObj.GetComponent <IPoolUser>();
                    if (poolUser != null)
                    {
                        poolUser.InitializeWithPooler(pooler, poolSize);
                    }
                }
            }
        }
コード例 #2
0
ファイル: AmmoLoader.cs プロジェクト: Elam92/CannonGame
        // Create pools of the projectiles that we have in our container.
        public void InitializeWithPooler(IPoolManager pooler, int poolSize)
        {
            this.pooler = pooler;

            if (poolSize <= 0 || projectileTypes == null || projectileTypes.Length == 0)
            {
                return;
            }

            for (int i = 0; i < projectileTypes.Length; i++)
            {
                PooledObject[] poolContainer = pooler.CreatePool(projectileTypes[i], 5);
                foreach (PooledObject poolObj in poolContainer)
                {
                    IPoolUser poolUser = poolObj.GetComponent <IPoolUser>();
                    if (poolUser != null)
                    {
                        poolUser.InitializeWithPooler(pooler, 5);
                    }
                }
            }

            SetType(0);
        }