コード例 #1
0
ファイル: BasicShipGun.cs プロジェクト: TeoC00l/SpaceShooter
        public override void Fire(Vector2 pos)
        {
            Bullet bullet = ObjectPooler.instance.GetPooledObject();

            if (!bullet)
            {
                return;
            }

            bullet.gameObject.SetActive(true);
            bullet.transform.position = pos;
            bullet.Init(velocity, lifeTime);
        }
コード例 #2
0
ファイル: ParallelGun.cs プロジェクト: TeoC00l/SpaceShooter
        public override void Fire(Vector2 pos)
        {
            for (int i = 0; i < numberOfProjectiles; i++)
            {
                Vector2 offsetVector = new Vector2(0, -((numberOfProjectiles - 1) * offsetAmount / 2) + offsetAmount * i);

                Bullet bullet = ObjectPooler.instance.GetPooledObject();

                if (!bullet)
                {
                    return;
                }

                bullet.gameObject.SetActive(true);
                bullet.transform.position = pos + offsetVector;
                bullet.Init(velocity, lifeTime);
            }
        }
コード例 #3
0
        public override void Fire(Vector2 pos)
        {
            for (int i = 0; i < numberOfProjectiles; i++)
            {
                Vector2 rotatedVector =
                    Quaternion.AngleAxis((-spreadAmount * numberOfProjectiles / 2) + spreadAmount * i,
                                         Vector3.forward) * Vector2.right;

                Bullet bullet = ObjectPooler.instance.GetPooledObject();

                if (!bullet)
                {
                    return;
                }

                bullet.gameObject.SetActive(true);
                bullet.transform.position = pos;
                bullet.Init(velocity, lifeTime, rotatedVector);
            }
        }