protected override void PostProcessBeam(BeamController beam) { beam.projectile.OnHitEnemy += this.OnHitEnemy; if (beam.GetComponent <CarrionMainTendrilController>()) { beam.GetComponent <CarrionMainTendrilController>().forme = currentForme; ExtantBeams.Add(beam); } base.PostProcessBeam(beam); }
private void SwitchForme(int targetForme) { if ((targetForme > 0) && (targetForme < 4)) { currentForme = targetForme; } else { return; } enemiesKilledSinceTransform = 0; switch (targetForme) { case 1: this.gun.TransformToTargetGun(PickupObjectDatabase.GetById(CarrionForme1ID) as Gun); break; case 2: this.gun.TransformToTargetGun(PickupObjectDatabase.GetById(CarrionForme2ID) as Gun); break; case 3: this.gun.TransformToTargetGun(PickupObjectDatabase.GetById(CarrionForme3ID) as Gun); break; } int beamCount = ExtantBeams.Count(); for (int i = (beamCount - 1); i >= 0; i--) { if (ExtantBeams[i] != null) { ExtantBeams[i].CeaseAttack(); } } ExtantBeams.Clear(); }