public SequencePlaceBuildingPreviewPreview(WorldRenderer wr, ActorInfo ai, SequencePlaceBuildingPreviewInfo info, TypeDictionary init) : base(wr, ai, info, init) { this.info = info; var ownerName = init.Get <OwnerInit>().InternalName; var faction = init.Get <FactionInit>().Value; var rsi = ai.TraitInfo <RenderSpritesInfo>(); palette = wr.Palette(rsi.Palette ?? rsi.PlayerPalette + ownerName); preview = new Animation(wr.World, rsi.GetImage(ai, wr.World.Map.Rules.Sequences, faction)); preview.PlayRepeating(info.Sequence); }
public SequencePlaceBuildingPreviewPreview(WorldRenderer wr, Actor actor, ActorInfo ai, SequencePlaceBuildingPreviewInfo info, TypeDictionary init) : base(wr, actor, ai, info, init) { this.info = info; this.actor = actor; var owner = init.Get <OwnerInit>().Value(wr.World); var faction = init.Get <FactionInit>().Value(wr.World); var rsi = ai.TraitInfo <RenderSpritesInfo>(); if (!string.IsNullOrEmpty(info.SequencePalette)) { palette = wr.Palette(info.SequencePaletteIsPlayerPalette ? info.SequencePalette + owner.InternalName : info.SequencePalette); } else { palette = wr.Palette(rsi.Palette ?? rsi.PlayerPalette + owner.InternalName); } preview = new Animation(wr.World, rsi.GetImage(ai, wr.World.Map.Rules.Sequences, faction)); preview.PlayRepeating(info.Sequence); }