public SimpleBulletPool(GameObject objectPrefab, int sizePool, Bullet bullet, Transform _position)
 {
     perent        = _position;
     objectStack   = new Queue <BulletView>();
     _objectPrefab = objectPrefab;
     _objectPrefab.SetActive(false);
     _bullet = bullet;
     for (int i = 0; i < sizePool; i++)
     {
         GameObject newObject  = Object.Instantiate(_objectPrefab, perent.position, Quaternion.identity) as GameObject;
         BulletView bulletView = newObject.GetComponent <BulletView>();
         bulletView.SetDamage(_bullet.Power);
         objectStack.Enqueue(bulletView);
     }
 }
Example #2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "Respawn")
     {
         DestroyAsteroid();
     }
     if (collision.tag == "Bullet")
     {
         if (HpEvent != null)
         {
             BulletView bullet = collision.gameObject.GetComponent <BulletView>();
             HpEvent?.Invoke(bullet.GetDamage());
             ScoreEvent?.Invoke(1);
             bullet.DestroyBullet();
         }
     }
 }
Example #3
0
 public static void PutBullet(BulletView bullet)
 {
     pool.PutObject(bullet);
 }
 public void PutObject(BulletView currentObject)
 {
     currentObject.gameObject.SetActive(false);
     objectStack.Enqueue(currentObject);
 }