public override void FireInternal() { var mine = new TimedMine(this, Delay); ProximityMineDropper.PlaceMineSafe(mine, Holder); SpaceTime.CurrentSpaceTime.Add(mine); mine.Exploded.SubscribeOnce(this.Exploded.Fire); }
public override void FireInternal() { var ex = new Explosive(this); ex.SetProperty <Character>(nameof(Holder), this.Holder); ProximityMineDropper.PlaceMineSafe(ex, Holder); SpaceTime.CurrentSpaceTime.Add(ex); }
public override void FireInternal(bool alt) { var mine = new ProximityMine(this) { TargetTag = TargetTag, Range = Range, AngleIncrement = AngleIncrement }; mine.SetProperty(nameof(Holder), this.Holder); ProximityMineDropper.PlaceMineSafe(mine, Holder, !alt, Speed); SpaceTime.CurrentSpaceTime.Add(mine); OnWeaponElementEmitted.Fire(mine); }