From 0f84ac521580cf85b5c1506dfa16f141b5e1972f Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 8 Jan 2011 20:24:12 +1300 Subject: [PATCH] RenderBuilding.BuildingPreview pushed down to RenderSimple and renamed to .RenderPreview() --- OpenRA.Game/Traits/Render/RenderSimple.cs | 8 ++++++++ OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs | 2 +- OpenRA.Mods.RA/Render/RenderBuilding.cs | 9 ++++----- OpenRA.Mods.RA/Render/RenderBuildingWarFactory.cs | 4 ++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/OpenRA.Game/Traits/Render/RenderSimple.cs b/OpenRA.Game/Traits/Render/RenderSimple.cs index 4c7bb0267b..67e93f1002 100755 --- a/OpenRA.Game/Traits/Render/RenderSimple.cs +++ b/OpenRA.Game/Traits/Render/RenderSimple.cs @@ -22,6 +22,14 @@ namespace OpenRA.Traits public readonly string Palette = null; public readonly float Scale = 1f; public abstract object Create(ActorInitializer init); + + public virtual IEnumerable RenderPreview(ActorInfo building, string Tileset) + { + var anim = new Animation(RenderSimple.GetImage(building, Tileset), () => 0); + anim.PlayRepeating("idle"); + var rb = building.Traits.Get(); + yield return new Renderable(anim.Image, 0.5f * anim.Image.size * (1 - Scale), rb.Palette, 0, Scale); + } } public abstract class RenderSimple : IRender, ITick diff --git a/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs b/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs index 9973424e37..65686e9d52 100755 --- a/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs +++ b/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs @@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA.Orders Building = name; Preview = Rules.Info[Building].Traits.Get() - .BuildingPreview(Rules.Info[Building], producer.World.Map.Tileset); + .RenderPreview(Rules.Info[Building], producer.World.Map.Tileset); } public IEnumerable Order(World world, int2 xy, MouseInput mi) diff --git a/OpenRA.Mods.RA/Render/RenderBuilding.cs b/OpenRA.Mods.RA/Render/RenderBuilding.cs index 8867e46c55..a4c7b033bc 100755 --- a/OpenRA.Mods.RA/Render/RenderBuilding.cs +++ b/OpenRA.Mods.RA/Render/RenderBuilding.cs @@ -24,12 +24,11 @@ namespace OpenRA.Mods.RA.Render public readonly float2 Origin = float2.Zero; public override object Create(ActorInitializer init) { return new RenderBuilding(init);} - public virtual IEnumerable BuildingPreview(ActorInfo building, string Tileset) + public override IEnumerable RenderPreview(ActorInfo building, string Tileset) { - var anim = new Animation(RenderSimple.GetImage(building, Tileset), () => 0); - anim.PlayRepeating("idle"); - var rb = building.Traits.Get(); - yield return new Renderable(anim.Image, rb.Origin + 0.5f*anim.Image.size*(1 - Scale), rb.Palette, 0, Scale); + var rb = building.Traits.Get(); + return base.RenderPreview(building, Tileset) + .Select(a => a.WithPos(a.Pos + rb.Origin)); } } diff --git a/OpenRA.Mods.RA/Render/RenderBuildingWarFactory.cs b/OpenRA.Mods.RA/Render/RenderBuildingWarFactory.cs index a3a592d973..8c6ba5221a 100755 --- a/OpenRA.Mods.RA/Render/RenderBuildingWarFactory.cs +++ b/OpenRA.Mods.RA/Render/RenderBuildingWarFactory.cs @@ -22,10 +22,10 @@ namespace OpenRA.Mods.RA.Render /* get around unverifiability */ IEnumerable BaseBuildingPreview(ActorInfo building, string tileset) { - return base.BuildingPreview(building, tileset); + return base.RenderPreview(building, tileset); } - public override IEnumerable BuildingPreview(ActorInfo building, string Tileset) + public override IEnumerable RenderPreview(ActorInfo building, string Tileset) { foreach (var r in BaseBuildingPreview(building, Tileset)) yield return r;