Add Visualization chat commands

This commit is contained in:
rob-v
2017-05-21 09:17:31 +02:00
committed by Oliver Brakmann
parent 8403adba37
commit d4e9e0e069
18 changed files with 145 additions and 71 deletions

View File

@@ -10,7 +10,6 @@
#endregion
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using OpenRA.Graphics;
@@ -30,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits
static readonly WVec TargetPosHLine = new WVec(0, 128, 0);
static readonly WVec TargetPosVLine = new WVec(128, 0, 0);
readonly DeveloperMode devMode;
readonly DebugVisualizations debugVis;
readonly HealthInfo healthInfo;
readonly Lazy<BodyOrientation> coords;
@@ -42,8 +41,7 @@ namespace OpenRA.Mods.Common.Traits
healthInfo = self.Info.TraitInfoOrDefault<HealthInfo>();
coords = Exts.Lazy(self.Trait<BodyOrientation>);
var localPlayer = self.World.LocalPlayer;
devMode = localPlayer != null ? localPlayer.PlayerActor.Trait<DeveloperMode>() : null;
debugVis = self.World.WorldActor.TraitOrDefault<DebugVisualizations>();
}
void INotifyCreated.Created(Actor self)
@@ -54,7 +52,7 @@ namespace OpenRA.Mods.Common.Traits
void IRenderAboveWorld.RenderAboveWorld(Actor self, WorldRenderer wr)
{
if (devMode == null || !devMode.ShowCombatGeometry)
if (debugVis == null || !debugVis.CombatGeometry)
return;
var wcr = Game.Renderer.WorldRgbaColorRenderer;
@@ -132,7 +130,7 @@ namespace OpenRA.Mods.Common.Traits
void INotifyDamage.Damaged(Actor self, AttackInfo e)
{
if (devMode == null || !devMode.ShowCombatGeometry || e.Damage.Value == 0)
if (debugVis == null || !debugVis.CombatGeometry || e.Damage.Value == 0)
return;
if (healthInfo == null)

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits
class CustomTerrainDebugOverlay : IWorldLoaded, IChatCommand, IRender
{
const string CommandName = "debugcustomterrain";
const string CommandDesc = "Toggles the custom terrain debug overlay.";
const string CommandDesc = "toggles the custom terrain debug overlay.";
public bool Enabled;

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits.Render
class RenderDebugState : INotifyAddedToWorld, INotifyOwnerChanged, IRenderAboveShroudWhenSelected
{
readonly DeveloperMode devMode;
readonly DebugVisualizations debugVis;
readonly SpriteFont font;
readonly Actor self;
readonly WVec offset;
@@ -48,8 +48,7 @@ namespace OpenRA.Mods.Common.Traits.Render
color = GetColor();
font = Game.Renderer.Fonts[info.Font];
var localPlayer = self.World.LocalPlayer;
devMode = localPlayer != null ? localPlayer.PlayerActor.Trait<DeveloperMode>() : null;
debugVis = self.World.WorldActor.TraitOrDefault<DebugVisualizations>();
ai = self.Owner.PlayerActor.TraitsImplementing<HackyAI>().FirstOrDefault(x => x.IsEnabled);
}
@@ -70,7 +69,7 @@ namespace OpenRA.Mods.Common.Traits.Render
IEnumerable<IRenderable> IRenderAboveShroudWhenSelected.RenderAboveShroud(Actor self, WorldRenderer wr)
{
if (devMode == null || !devMode.ShowActorTags)
if (debugVis == null || !debugVis.ActorTags)
yield break;
yield return new TextRenderable(font, self.CenterPosition - offset, 0, color, tagString);

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits
public class TerrainGeometryOverlay : IRenderAboveWorld, IWorldLoaded, IChatCommand
{
const string CommandName = "terrainoverlay";
const string CommandDesc = "Toggles the terrain geometry overlay";
const string CommandDesc = "toggles the terrain geometry overlay.";
public bool Enabled;