Beispiel #1
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 #2
0
 public ShieldFieldTransformerLink GetShieldFieldTransformerLink(ShieldFieldTransformer shieldFieldTransformer)
 {
     foreach (ShieldFieldTransformerLink shieldFieldTransformerLink in shieldFieldTransformerLinkArray)
     {
         if (shieldFieldTransformerLink.shieldFieldTransformer == shieldFieldTransformer)
         {
             return(shieldFieldTransformerLink);
         }
     }
     return(null);
 }
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:
        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());
            }
        }
    }