public AirstrikePowerASEffect(World world, Player p, WPos pos, IEnumerable<Actor> planes, AirstrikePowerASInfo info) { this.info = info; this.world = world; this.Owner = p; this.pos = pos; this.planes = planes; if (info.DisplayBeacon) { var distance = (planes.First().OccupiesSpace.CenterPosition - pos).HorizontalLength; beacon = new Beacon( Owner, pos - new WVec(WDist.Zero, WDist.Zero, world.Map.DistanceAboveTerrain(pos)), info.BeaconPaletteIsPlayerPalette, info.BeaconPalette, info.BeaconImage, info.BeaconPoster, info.BeaconPosterPalette, info.ArrowSequence, info.CircleSequence, info.ClockSequence, () => 1 - ((planes.First().OccupiesSpace.CenterPosition - pos).HorizontalLength - info.BeaconDistanceOffset.Length) * 1f / distance); world.AddFrameEndTask(w => w.Add(beacon)); } }
public AirstrikePowerAS(Actor self, AirstrikePowerASInfo info) : base(self, info) { }