コード例 #1
0
ファイル: Weapon.cs プロジェクト: The13Destroyer/homework
        /// <summary>
        /// Projectile hit something. Let's return it to pool.
        /// </summary>
        /// <param name="projectile">The collided projectile.</param>
        public void ProjectileHit(Projectile projectile)
        {
            ProjectilePool pool =
                Global.Instance.Pools.GetPool(_projectileType);

            if (pool != null)
            {
                pool.ReturnObjectToPool(projectile);
            }
            else
            {
                Destroy(projectile.gameObject);
            }
        }
コード例 #2
0
ファイル: Missile.cs プロジェクト: JavivalleDev/SpaceShooter
    void Return()
    {
        GameObject explosionPrefab = ProjectilePool.GetObjectFromPool("ProjectileExplosion");

        if (explosionPrefab)
        {
            explosionPrefab.transform.position = transform.position;
            ParticleSystem[] ps = explosionPrefab.GetComponentsInChildren <ParticleSystem>();
            for (int i = 0; i < ps.Length; ++i)
            {
                ps[i].Play();
            }
            StartCoroutine(ReturnParticle(explosionPrefab));
        }
        _seek.target = null;
        ProjectilePool.ReturnObjectToPool("Missile", this.gameObject);
    }
コード例 #3
0
ファイル: Tank.cs プロジェクト: Jonami90/Koodinaytteita
 public void ProjectileHit(Projectile projectile)
 {
     _projectilePool.ReturnObjectToPool(projectile);
 }
コード例 #4
0
ファイル: Missile.cs プロジェクト: JavivalleDev/SpaceShooter
    IEnumerator ReturnParticle(GameObject explosionPrefab)
    {
        yield return(new WaitForSeconds(4));

        ProjectilePool.ReturnObjectToPool("ProjectileExplosion", explosionPrefab);
    }
コード例 #5
0
    //Al detectar impacto por Raycast ya no lo necesito
    //void OnTriggerEnter(Collider collider)
    //{
    //    SpaceShip spaceship = collider.GetComponentInParent<SpaceShip>();
    //    if (spaceship) { spaceship.ReceiveDamage(1); }
    //    laserManager.ReturnLaser(gameObject);
    //}

    void Return()
    {
        ProjectilePool.ReturnObjectToPool("Laser", this.gameObject);
    }