private void Expand(uint amount)
 {
     for (int i = 0; i < amount; i++)
     {
         GameObject    instance      = GameObject.Instantiate(m_Prefab, m_Parent);
         EmitOnDisable emitOnDisable = instance.AddComponent <EmitOnDisable>();
         emitOnDisable.OnDisableGameObject += UnRent;
         m_Objects.Push(instance);
         m_Created.Add(instance);
     }
 }
Ejemplo n.º 2
0
        private static void SpawnUnit(GameObjectPool pool, string size)
        {
            GameObject      enemy          = pool.Rent(false);
            EnemyController enemyComponent = enemy.GetComponent <EnemyController>();

            FindParentToSpawn(enemy, size);

            enemy.transform.position = Vector3.zero;
            enemy.SetActive(true);
            EmitOnDisable emitOnDisable = enemy.GetComponent <EmitOnDisable>();

            emitOnDisable.OnDisableGameObject += EnemyDisabled;

            enemyComponent.ResetUnit(path, start, blockSize);

            activeUnits.Add(enemy);
        }