From 749a947d3fd1d85bac333cf862031235ea682e1c Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 21 Jun 2014 22:21:39 +1200 Subject: [PATCH] Avoid repeated queries of DeveloperMode. --- OpenRA.Mods.RA/Player/ProductionQueue.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.RA/Player/ProductionQueue.cs b/OpenRA.Mods.RA/Player/ProductionQueue.cs index fa253984de..7aaeeb2a58 100644 --- a/OpenRA.Mods.RA/Player/ProductionQueue.cs +++ b/OpenRA.Mods.RA/Player/ProductionQueue.cs @@ -74,6 +74,7 @@ namespace OpenRA.Mods.RA // Will change if the owner changes PowerManager playerPower; PlayerResources playerResources; + DeveloperMode developerMode; string race; // A list of things we could possibly build @@ -97,6 +98,7 @@ namespace OpenRA.Mods.RA Info = info; playerResources = playerActor.Trait(); playerPower = playerActor.Trait(); + developerMode = playerActor.Trait(); race = init.Contains() ? init.Get() : self.Owner.Country.Race; Enabled = !info.Race.Any() || info.Race.Contains(race); @@ -118,6 +120,7 @@ namespace OpenRA.Mods.RA { playerPower = newOwner.PlayerActor.Trait(); playerResources = newOwner.PlayerActor.Trait(); + developerMode = newOwner.PlayerActor.Trait(); ClearQueue(); if (!Info.Sticky) @@ -201,7 +204,7 @@ namespace OpenRA.Mods.RA public virtual IEnumerable AllItems() { - if (self.World.AllowDevCommands && self.Owner.PlayerActor.Trait().AllTech) + if (self.World.AllowDevCommands && developerMode.AllTech) return produceable.Select(a => a.Key); return produceable.Where(a => a.Value.Buildable || a.Value.Visible).Select(a => a.Key); @@ -209,7 +212,7 @@ namespace OpenRA.Mods.RA public virtual IEnumerable BuildableItems() { - if (self.World.AllowDevCommands && self.Owner.PlayerActor.Trait().AllTech) + if (self.World.AllowDevCommands && developerMode.AllTech) return produceable.Select(a => a.Key); return produceable.Where(a => a.Value.Buildable).Select(a => a.Key);