Beispiel #1
0
 public ShieldFieldTransformerLink GetShieldFieldTransformerLink(ShieldFieldTransformer shieldFieldTransformer)
 {
     foreach (ShieldFieldTransformerLink shieldFieldTransformerLink in shieldFieldTransformerLinkArray)
     {
         if (shieldFieldTransformerLink.shieldFieldTransformer == shieldFieldTransformer)
         {
             return(shieldFieldTransformerLink);
         }
     }
     return(null);
 }
Beispiel #2
0
        private void ShieldFieldTransformer_OnDestroyed(object sender, EventArgs e)
        {
            ShieldFieldTransformer     shieldFieldTransformer     = sender as ShieldFieldTransformer;
            ShieldFieldTransformerLink shieldFieldTransformerLink = GetShieldFieldTransformerLink(shieldFieldTransformer);

            foreach (Transform powerLine in shieldFieldTransformerLink.shieldFieldTransformerPowerLines.powerLineArray)
            {
                Destroy(powerLine.gameObject);
            }
            TestAllTransformersDead();
        }
Beispiel #3
0
        private void PlayerSwapAimNormal_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e)
        {
            Shoot_Flash.AddFlash(e.gunEndPointPosition);
            WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition);
            UtilsClass.ShakeCamera(.6f, .05f);
            SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition);

            if (weapon.GetWeaponType() == Weapon.WeaponType.Shotgun)
            {
                // Shotgun spread
                int shotgunShells = 4;
                for (int i = 0; i < shotgunShells; i++)
                {
                    WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition + UtilsClass.GetRandomDir() * UnityEngine.Random.Range(-20f, 20f));
                    if (i % 2 == 0)
                    {
                        SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition);
                    }
                }
            }

            switch (weapon.GetWeaponType())
            {
            default:
                break;
                //case Weapon.WeaponType.Pistol: Sound_Manager.PlaySound(Sound_Manager.Sound.Pistol_Fire, GetPosition()); break;
                //case Weapon.WeaponType.Rifle: Sound_Manager.PlaySound(Sound_Manager.Sound.Rifle_Fire, GetPosition()); break;
                //case Weapon.WeaponType.Shotgun: Sound_Manager.PlaySound(Sound_Manager.Sound.Shotgun_Fire, GetPosition()); break;
            }

            // Any enemy hit?
            if (e.hitObject != null)
            {
                Enemy enemy = e.hitObject.GetComponent <Enemy>();
                if (enemy != null)
                {
                    enemy.Damage(this, weapon.GetDamageMultiplier());
                }
                ShieldFieldTransformer shieldFieldTransformer = e.hitObject.GetComponent <ShieldFieldTransformer>();
                if (shieldFieldTransformer != null)
                {
                    shieldFieldTransformer.Damage(this, weapon.GetDamageMultiplier());
                }
            }
        }