aircraft sync debug traits dont really need to do trait lookups every time the synchash is taken..

This commit is contained in:
Chris Forbes
2011-07-19 20:51:21 +12:00
committed by Paul Chote
parent 5055e0be62
commit e81cbceb99

View File

@@ -19,48 +19,48 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Air namespace OpenRA.Mods.RA.Air
{ {
public class DebugAircraftFacingInfo : ITraitInfo public class DebugAircraftFacingInfo : ITraitInfo, Requires<AircraftInfo>
{ {
public object Create(ActorInitializer init) { return new DebugAircraftFacing(init.self); } public object Create(ActorInitializer init) { return new DebugAircraftFacing(init.self); }
} }
public class DebugAircraftFacing : ISync public class DebugAircraftFacing : ISync
{ {
readonly Actor self; readonly Aircraft a;
public DebugAircraftFacing(Actor self){this.self = self;} public DebugAircraftFacing(Actor self){ a = self.Trait<Aircraft>(); }
[Sync] public int foo { get { return self.Trait<Aircraft>().Facing; } } [Sync] public int foo { get { return a.Facing; } }
} }
public class DebugAircraftSubPxXInfo : ITraitInfo public class DebugAircraftSubPxXInfo : ITraitInfo, Requires<AircraftInfo>
{ {
public object Create(ActorInitializer init) { return new DebugAircraftSubPxX(init.self); } public object Create(ActorInitializer init) { return new DebugAircraftSubPxX(init.self); }
} }
public class DebugAircraftSubPxX : ISync public class DebugAircraftSubPxX : ISync
{ {
readonly Actor self; readonly Aircraft a;
public DebugAircraftSubPxX(Actor self){this.self = self;} public DebugAircraftSubPxX(Actor self){ a = self.Trait<Aircraft>(); }
[Sync] public int foo { get { return self.Trait<Aircraft>().SubPxPosition.X; } } [Sync] public int foo { get { return a.SubPxPosition.Y; } }
} }
public class DebugAircraftSubPxYInfo : ITraitInfo public class DebugAircraftSubPxYInfo : ITraitInfo, Requires<AircraftInfo>
{ {
public object Create(ActorInitializer init) { return new DebugAircraftSubPxY(init.self); } public object Create(ActorInitializer init) { return new DebugAircraftSubPxY(init.self); }
} }
public class DebugAircraftSubPxY : ISync public class DebugAircraftSubPxY : ISync
{ {
readonly Actor self; readonly Aircraft a;
public DebugAircraftSubPxY(Actor self){this.self = self;} public DebugAircraftSubPxY(Actor self){ a = self.Trait<Aircraft>(); }
[Sync] public int foo { get { return self.Trait<Aircraft>().SubPxPosition.Y; } } [Sync] public int foo { get { return a.SubPxPosition.Y; } }
} }
public class DebugAircraftAltitudeInfo : ITraitInfo public class DebugAircraftAltitudeInfo : ITraitInfo, Requires<AircraftInfo>
{ {
public object Create(ActorInitializer init) { return new DebugAircraftAltitude(init.self); } public object Create(ActorInitializer init) { return new DebugAircraftAltitude(init.self); }
} }
public class DebugAircraftAltitude : ISync public class DebugAircraftAltitude : ISync
{ {
readonly Actor self; readonly Aircraft a;
public DebugAircraftAltitude(Actor self){this.self = self;} public DebugAircraftAltitude(Actor self){ a = self.Trait<Aircraft>(); }
[Sync] public int Facing { get { return self.Trait<Aircraft>().Altitude; } } [Sync] public int foo { get { return a.Altitude; } }
} }
public class AircraftInfo : ITraitInfo public class AircraftInfo : ITraitInfo