예제 #1
0
 public void HandleBulletHit(TankDefs.BulletType bulletType)
 {
     if (active && parentTank != null)
     {
         parentTank.TurnOffShield();
     }
 }
예제 #2
0
    public void UnRegisterPickup(TankDefs.BulletType bulletType, BaseBulletPickup pickupBehaviour)
    {
        switch (bulletType)
        {
        case TankDefs.BulletType.LonglivingShot:

            LonglivingShotPickup lsp = pickupBehaviour.GetComponent <LonglivingShotPickup>();
            if (lsp != null && longlivingShotPickupsSpawned.Contains(lsp))
            {
                longlivingShotPickupsSpawned.Remove(lsp);
            }

            break;

        case TankDefs.BulletType.Minigun:

            MinigunPickup mp = pickupBehaviour.GetComponent <MinigunPickup>();
            if (mp != null && minigunPickupsSpawned.Contains(mp))
            {
                minigunPickupsSpawned.Remove(mp);
            }

            break;

        case TankDefs.BulletType.Shotgun:

            ShotgunPickup sp = pickupBehaviour.GetComponent <ShotgunPickup>();
            if (sp != null && shotgunPickupsSpawned.Contains(sp))
            {
                shotgunPickupsSpawned.Remove(sp);
            }

            break;


        case TankDefs.BulletType.Shield:

            ShieldPickup slp = pickupBehaviour.GetComponent <ShieldPickup>();
            if (slp != null && shieldPickupsSpawned.Contains(slp))
            {
                shieldPickupsSpawned.Remove(slp);
            }

            break;
        }
    }
예제 #3
0
    public GameObject GetBulletPrefab(TankDefs.BulletType bulletType)
    {
        GameObject retBullet = null;

        switch (bulletType)
        {
        case TankDefs.BulletType.Normal:
            if (normalBulletPrefab == null)
            {
                retBullet = Resources.Load(bulletPrefabsFolder + normalBulletPrefabName) as GameObject;
            }
            else
            {
                retBullet = Instantiate(normalBulletPrefab);
            }
            break;

        case TankDefs.BulletType.LonglivingShot:
            if (longlivingBulletPrefab == null)
            {
                retBullet = Resources.Load(bulletPrefabsFolder + longlivingBulletPrefabName) as GameObject;
            }
            else
            {
                retBullet = Instantiate(longlivingBulletPrefab);
            }
            break;

        case TankDefs.BulletType.Shotgun:
            if (shotgunBulletPrefab == null)
            {
                retBullet = Resources.Load(bulletPrefabsFolder + shotgunBulletPrefabName) as GameObject;
            }
            else
            {
                retBullet = Instantiate(shotgunBulletPrefab);
            }
            break;
        }

        return(retBullet);
    }
예제 #4
0
    private void SetBulletType(TankDefs.BulletType bulletType)
    {
        switch (bulletType)
        {
        case TankDefs.BulletType.Normal:

            shielded = false;
            if (ownShield == null)
            {
                ownShield = gameObject.GetComponentInChildren <ShieldBehaviour>();
            }
            if (ownShield != null)
            {
                TurnOffShield();
            }

            this.bulletModifier = TankDefs.BulletType.Normal;
            this.bulletPrefab   = PickupManager.Instance.GetBulletPrefab(this.bulletModifier);

            this.modifierShots  = 0;
            this.maxBulletCount = 4;
            this.reloadSpeed    = 1;

            break;


        case TankDefs.BulletType.LonglivingShot:

            shielded = false;
            if (ownShield == null)
            {
                ownShield = gameObject.GetComponentInChildren <ShieldBehaviour>();
            }
            if (ownShield != null)
            {
                TurnOffShield();
            }

            this.bulletModifier = TankDefs.BulletType.LonglivingShot;
            this.bulletPrefab   = PickupManager.Instance.GetBulletPrefab(this.bulletModifier);

            this.modifierShots  = 4;
            this.maxBulletCount = 4;
            this.reloadSpeed    = 1;

            break;

        case TankDefs.BulletType.Minigun:

            shielded = false;
            if (ownShield == null)
            {
                ownShield = gameObject.GetComponentInChildren <ShieldBehaviour>();
            }
            if (ownShield != null)
            {
                TurnOffShield();
            }

            this.bulletModifier = TankDefs.BulletType.Normal;
            this.bulletPrefab   = PickupManager.Instance.GetBulletPrefab(this.bulletModifier);

            this.modifierShots  = 20;
            this.maxBulletCount = 20;
            this.reloadSpeed    = 0.05f;

            break;

        case TankDefs.BulletType.Shotgun:

            shielded = false;
            if (ownShield == null)
            {
                ownShield = gameObject.GetComponentInChildren <ShieldBehaviour>();
            }
            if (ownShield != null)
            {
                TurnOffShield();
            }

            this.bulletModifier = TankDefs.BulletType.Shotgun;
            this.bulletPrefab   = PickupManager.Instance.GetBulletPrefab(this.bulletModifier);

            this.modifierShots  = 4;
            this.maxBulletCount = 12;
            this.reloadSpeed    = 1.2f;

            break;

        // Special Non-Bullet modifiers
        case TankDefs.BulletType.Shield:

            shielded = true;
            if (ownShield == null)
            {
                ownShield = gameObject.GetComponentInChildren <ShieldBehaviour>();
            }
            if (ownShield != null)
            {
                TurnOnShield();
            }

            this.bulletModifier = TankDefs.BulletType.Normal;
            bulletPrefab        = PickupManager.Instance.GetBulletPrefab(TankDefs.BulletType.Normal);

            modifierShots  = 0;
            maxBulletCount = 4;
            reloadSpeed    = 1;

            break;
        }
    }
예제 #5
0
 public void TriggerPickup(TankDefs.BulletType bulletType)
 {
     SetBulletType(bulletType);
 }
예제 #6
0
 public void HandleBulletHit(TankDefs.BulletType bulletType)
 {
     Die();
 }