Add terrain geometry visualisation.

This commit is contained in:
Paul Chote
2014-11-01 18:02:09 +13:00
parent 18f65552a1
commit 118275b376
13 changed files with 188 additions and 11 deletions

View File

@@ -188,6 +188,27 @@ namespace OpenRA
return InvalidValueAction(value, fieldType, fieldName);
}
else if (fieldType == typeof(Color[]))
{
var parts = value.Split(',');
if (parts.Length % 4 != 0)
return InvalidValueAction(value, fieldType, fieldName);
var colors = new Color[parts.Length / 4];
for (var i = 0; i < colors.Length; i++)
{
colors[i] = Color.FromArgb(
Exts.ParseIntegerInvariant(parts[4 * i]).Clamp(0, 255),
Exts.ParseIntegerInvariant(parts[4 * i + 1]).Clamp(0, 255),
Exts.ParseIntegerInvariant(parts[4 * i + 2]).Clamp(0, 255),
Exts.ParseIntegerInvariant(parts[4 * i + 3]).Clamp(0, 255));
}
return colors;
}
else if (fieldType == typeof(HSLColor))
{
var parts = value.Split(',');

View File

@@ -158,6 +158,7 @@ namespace OpenRA
public readonly string[] Extensions;
public readonly int WaterPaletteRotationBase = 0x60;
public readonly byte MaxGroundHeight = 0;
public readonly Color[] HeightDebugColors = new[] { Color.Red };
public readonly string[] EditorTemplateOrder;
public readonly bool IgnoreTileSpriteOffsets;

View File

@@ -23,6 +23,7 @@ namespace OpenRA.Traits
public bool BuildAnywhere;
public bool ShowCombatGeometry;
public bool ShowDebugGeometry;
public bool ShowTerrainGeometry;
public object Create(ActorInitializer init) { return new DeveloperMode(this); }
}
@@ -41,6 +42,7 @@ namespace OpenRA.Traits
// Client side only
public bool ShowCombatGeometry;
public bool ShowDebugGeometry;
public bool ShowTerrainGeometry;
public DeveloperMode(DeveloperModeInfo info)
{
@@ -53,6 +55,7 @@ namespace OpenRA.Traits
BuildAnywhere = info.BuildAnywhere;
ShowCombatGeometry = info.ShowCombatGeometry;
ShowDebugGeometry = info.ShowDebugGeometry;
ShowTerrainGeometry = info.ShowTerrainGeometry;
}
public void ResolveOrder(Actor self, Order order)