From bed2745c61c44427aa44a9fa1a46c8ab709dce83 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 10 Jul 2013 19:09:49 +1200 Subject: [PATCH] Tidy TargetableBuilding. --- OpenRA.Mods.RA/TargetableBuilding.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.RA/TargetableBuilding.cs b/OpenRA.Mods.RA/TargetableBuilding.cs index e02e9ff7c3..8bc331338c 100755 --- a/OpenRA.Mods.RA/TargetableBuilding.cs +++ b/OpenRA.Mods.RA/TargetableBuilding.cs @@ -15,25 +15,30 @@ using OpenRA.Traits; namespace OpenRA.Mods.RA { - class TargetableBuildingInfo : ITraitInfo, Requires + public class TargetableBuildingInfo : ITraitInfo, Requires { public readonly string[] TargetTypes = { }; - public object Create( ActorInitializer init ) { return new TargetableBuilding( this ); } + public object Create(ActorInitializer init) { return new TargetableBuilding(init.self, this); } } - class TargetableBuilding : ITargetable + public class TargetableBuilding : ITargetable { readonly TargetableBuildingInfo info; + readonly Building building; - public TargetableBuilding( TargetableBuildingInfo info ) { this.info = info; } + public TargetableBuilding(Actor self, TargetableBuildingInfo info) + { + this.info = info; + building = self.Trait(); + } public string[] TargetTypes { get { return info.TargetTypes; } } public bool TargetableBy(Actor self, Actor byActor) { return true; } public IEnumerable TargetablePositions(Actor self) { - return self.Trait().OccupiedCells().Select(c => c.First.CenterPosition); + return building.OccupiedCells().Select(c => c.First.CenterPosition); } } }