diff --git a/OpenRA.Game/GameRules/Settings.cs b/OpenRA.Game/GameRules/Settings.cs index 4a6dd48e6b..7d78290a9e 100755 --- a/OpenRA.Game/GameRules/Settings.cs +++ b/OpenRA.Game/GameRules/Settings.cs @@ -32,7 +32,6 @@ namespace OpenRA.GameRules { public bool PerfGraph = false; public bool RecordSyncReports = true; - public bool ShowCollisions = false; public float LongTickThreshold = 0.001f; } diff --git a/OpenRA.Game/Traits/Player/DeveloperMode.cs b/OpenRA.Game/Traits/Player/DeveloperMode.cs index 223fa91e1f..0bd3c0ac1e 100644 --- a/OpenRA.Game/Traits/Player/DeveloperMode.cs +++ b/OpenRA.Game/Traits/Player/DeveloperMode.cs @@ -17,7 +17,8 @@ namespace OpenRA.Traits public bool FastBuild = false; public bool FastCharge = false; public bool DisableShroud = false; - public bool PathDebug = false; + public bool PathDebug = false; + public bool UnitInfluenceDebug = false; public object Create (ActorInitializer init) { return new DeveloperMode(this); } } @@ -30,14 +31,16 @@ namespace OpenRA.Traits [Sync] public bool FastBuild; [Sync] public bool DisableShroud; [Sync] public bool PathDebug; - + [Sync] public bool UnitInfluenceDebug; + public DeveloperMode(DeveloperModeInfo info) { Info = info; FastBuild = Info.FastBuild; FastCharge = Info.FastCharge; DisableShroud = Info.DisableShroud; - PathDebug = Info.PathDebug; + PathDebug = Info.PathDebug; + UnitInfluenceDebug = info.UnitInfluenceDebug; } public void ResolveOrder (Actor self, Order order) @@ -79,9 +82,8 @@ namespace OpenRA.Traits break; } case "DevUnitDebug": - { - if (self.World.LocalPlayer == self.Owner) - Game.Settings.Debug.ShowCollisions ^= true; + { + UnitInfluenceDebug ^= true; break; } case "DevGiveExploration": diff --git a/OpenRA.Game/UiOverlay.cs b/OpenRA.Game/UiOverlay.cs index b92f846cf8..9036891a11 100644 --- a/OpenRA.Game/UiOverlay.cs +++ b/OpenRA.Game/UiOverlay.cs @@ -41,7 +41,7 @@ namespace OpenRA public void Draw( WorldRenderer wr, World world ) { - if (Game.Settings.Debug.ShowCollisions) + if (world.LocalPlayer.PlayerActor.Trait().UnitInfluenceDebug) { var uim = world.WorldActor.Trait(); diff --git a/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs b/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs index b9fc9c37ec..9a23a72f77 100644 --- a/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs +++ b/OpenRA.Game/Widgets/Delegates/DeveloperModeDelegate.cs @@ -47,8 +47,8 @@ namespace OpenRA.Widgets.Delegates return true; }; - devmodeBG.GetWidget("CHECKBOX_UNITDEBUG").Checked = - () => Game.Settings.Debug.ShowCollisions; + devmodeBG.GetWidget("CHECKBOX_UNITDEBUG").Checked = + () => world.LocalPlayer.PlayerActor.Trait().UnitInfluenceDebug; devmodeBG.GetWidget("CHECKBOX_UNITDEBUG").OnMouseDown = mi => { world.IssueOrder(new Order("DevUnitDebug", world.LocalPlayer.PlayerActor));