RenderBeforeWorld/RenderAfterWorld split. still need to sort out which behavior belongs where.

This commit is contained in:
Chris Forbes
2010-07-26 18:19:39 +12:00
parent 9cf8ac0c3d
commit 69d30ac71b
17 changed files with 59 additions and 31 deletions

View File

@@ -26,7 +26,7 @@ namespace OpenRA.Mods.RA
public readonly string[] RearmBuildings = { "fix" };
}
class Minelayer : IIssueOrder, IResolveOrder, IOrderCursor, IRenderSelection
class Minelayer : IIssueOrder, IResolveOrder, IOrderCursor, IPostRenderSelection
{
/* [Sync] when sync can cope with arrays! */
public int2[] minefield = null;
@@ -120,7 +120,7 @@ namespace OpenRA.Mods.RA
}
int2 lastMousePos;
public void Render(World world)
public void RenderAfterWorld(World world)
{
var ml = minelayer.traits.Get<Minelayer>();
var movement = minelayer.traits.Get<IMove>();
@@ -130,10 +130,12 @@ namespace OpenRA.Mods.RA
Game.world.WorldRenderer.DrawLocus(Color.Cyan, minefield);
}
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi) { lastMousePos = xy; return "ability"; } /* todo */
}
public void Render(Actor self)
public void RenderAfterWorld(Actor self)
{
if (self.Owner != self.World.LocalPlayer)
return;

View File

@@ -38,7 +38,8 @@ namespace OpenRA.Mods.RA.Orders
}
public void Tick(World world) { }
public void Render(World world) { }
public void RenderAfterWorld(World world) { }
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{

View File

@@ -53,7 +53,8 @@ namespace OpenRA.Mods.RA.Orders
.Any();
}
public void Render( World world ) {}
public void RenderAfterWorld( World world ) {}
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{

View File

@@ -41,7 +41,8 @@ namespace OpenRA.Mods.RA.Orders
}
public void Tick( World world ) {}
public void Render( World world ) {}
public void RenderAfterWorld( World world ) {}
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{

View File

@@ -36,11 +36,13 @@ namespace OpenRA.Mods.RA.Orders
}
public void Tick( World world ) { }
public void Render( World world )
public void RenderAfterWorld( World world )
{
world.WorldRenderer.DrawSelectionBox(self, Color.White);
}
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{
if (!world.LocalPlayer.Shroud.IsExplored(xy))

View File

@@ -14,9 +14,9 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
class RenderDetectionCircleInfo : TraitInfo<RenderDetectionCircle> { }
class RenderDetectionCircle : IRenderSelection
class RenderDetectionCircle : IPostRenderSelection
{
public void Render(Actor self)
public void RenderAfterWorld(Actor self)
{
if (self.Owner != self.World.LocalPlayer)
return;

View File

@@ -14,9 +14,9 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
class RenderRangeCircleInfo : TraitInfo<RenderRangeCircle> { }
class RenderRangeCircle : IRenderSelection
class RenderRangeCircle : IPostRenderSelection
{
public void Render(Actor self)
public void RenderAfterWorld(Actor self)
{
if (self.Owner != self.World.LocalPlayer)
return;

View File

@@ -93,7 +93,8 @@ namespace OpenRA.Mods.RA
// TODO: Check if the selected unit is still alive
}
public void Render( World world ) { }
public void RenderAfterWorld( World world ) { }
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{
@@ -133,11 +134,13 @@ namespace OpenRA.Mods.RA
// TODO: Check if the selected unit is still alive
}
public void Render(World world)
public void RenderAfterWorld(World world)
{
world.WorldRenderer.DrawSelectionBox(self, Color.Red);
}
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{
if (!world.LocalPlayer.Shroud.IsExplored(xy))

View File

@@ -95,7 +95,8 @@ namespace OpenRA.Mods.RA
Game.controller.CancelInputMode();
}
public void Render(World world) { }
public void RenderAfterWorld(World world) { }
public void RenderBeforeWorld(World world) { }
public string GetCursor(World world, int2 xy, MouseInput mi)
{