Add annotation support to IOrderGenerator.

This commit is contained in:
Paul Chote
2019-09-01 19:29:53 +01:00
committed by abcdefg30
parent 1dc84f48de
commit 7d1ce0c83b
15 changed files with 33 additions and 8 deletions

View File

@@ -222,6 +222,8 @@ namespace OpenRA.Mods.Cnc.Traits
}
}
protected override IEnumerable<IRenderable> RenderAnnotations(WorldRenderer wr, World world) { yield break; }
protected override string GetCursor(World world, CPos cell, int2 worldPixel, MouseInput mi)
{
return "ability";

View File

@@ -215,12 +215,11 @@ namespace OpenRA.Mods.Cnc.Traits
world.CancelInputMode();
}
protected override IEnumerable<IRenderable> Render(WorldRenderer wr, World world)
{
yield break;
}
protected override IEnumerable<IRenderable> Render(WorldRenderer wr, World world) { yield break; }
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world)
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world) { yield break; }
protected override IEnumerable<IRenderable> RenderAnnotations(WorldRenderer wr, World world)
{
if (!self.IsInWorld || self.Owner != self.World.LocalPlayer)
yield break;

View File

@@ -113,8 +113,9 @@ namespace OpenRA.Mods.Cnc.Traits
}
protected override IEnumerable<IRenderable> Render(WorldRenderer wr, World world) { yield break; }
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world) { yield break; }
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world)
protected override IEnumerable<IRenderable> RenderAnnotations(WorldRenderer wr, World world)
{
foreach (var a in instance.Instances.Where(i => !i.IsTraitPaused))
{

View File

@@ -167,7 +167,9 @@ namespace OpenRA.Mods.Cnc.Traits
world.CancelInputMode();
}
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world)
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world) { yield break; }
protected override IEnumerable<IRenderable> RenderAnnotations(WorldRenderer wr, World world)
{
var xy = wr.Viewport.ViewToWorld(Viewport.LastMousePos);
var targetUnits = power.UnitsInRange(xy).Where(a => !world.FogObscures(a));
@@ -291,7 +293,10 @@ namespace OpenRA.Mods.Cnc.Traits
foreach (var r in unit.Render(wr))
yield return r.OffsetBy(offset);
}
}
protected override IEnumerable<IRenderable> RenderAnnotations(WorldRenderer wr, World world)
{
foreach (var unit in power.UnitsInRange(sourceLocation))
{
if (unit.CanBeViewedByPlayer(manager.Self.Owner))