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);
        }
示例#2
0
        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);
        }