diff --git a/OpenRA.Mods.RA/Buildings/Building.cs b/OpenRA.Mods.RA/Buildings/Building.cs index 3662cba5b6..e23949608e 100755 --- a/OpenRA.Mods.RA/Buildings/Building.cs +++ b/OpenRA.Mods.RA/Buildings/Building.cs @@ -30,7 +30,6 @@ namespace OpenRA.Mods.RA.Buildings public readonly string[] BuildSounds = {"placbldg.aud", "build5.aud"}; public readonly string[] SellSounds = {"cashturn.aud"}; - public object Create(ActorInitializer init) { return new Building(init, this); } public bool IsCloseEnoughToBase(World world, Player p, string buildingName, int2 topLeft) diff --git a/OpenRA.Mods.RA/Render/RenderBuildingTurreted.cs b/OpenRA.Mods.RA/Render/RenderBuildingTurreted.cs index 63326a7fde..682845b29f 100644 --- a/OpenRA.Mods.RA/Render/RenderBuildingTurreted.cs +++ b/OpenRA.Mods.RA/Render/RenderBuildingTurreted.cs @@ -8,12 +8,13 @@ */ #endregion +using System; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; namespace OpenRA.Mods.RA.Render { - class RenderBuildingTurretedInfo : RenderBuildingInfo + class RenderBuildingTurretedInfo : RenderBuildingInfo, Requires { public override object Create(ActorInitializer init) { return new RenderBuildingTurreted( init, this ); } } @@ -21,6 +22,12 @@ namespace OpenRA.Mods.RA.Render class RenderBuildingTurreted : RenderBuilding { public RenderBuildingTurreted( ActorInitializer init, RenderBuildingInfo info ) - : base(init, info, () => init.self.Trait().turretFacing) { } + : base(init, info, MakeTurretFacingFunc(init.self)) { } + + static Func MakeTurretFacingFunc(Actor self) + { + var turreted = self.Trait(); + return () => turreted.turretFacing; + } } }