Add key handling to order generators.

This commit is contained in:
Paul Chote
2019-05-23 21:40:20 +01:00
committed by abcdefg30
parent 0eb5063260
commit 44e41cc054
5 changed files with 7 additions and 1 deletions

View File

@@ -22,5 +22,6 @@ namespace OpenRA
IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world);
string GetCursor(World world, CPos cell, int2 worldPixel, MouseInput mi);
void Deactivate();
bool HandleKeyPress(KeyInput e);
}
}

View File

@@ -86,6 +86,8 @@ namespace OpenRA.Orders
public void Deactivate() { }
bool IOrderGenerator.HandleKeyPress(KeyInput e) { return false; }
// Used for classic mouse orders, determines whether or not action at xy is move or select
public virtual bool InputOverridesSelection(WorldRenderer wr, World world, int2 xy, MouseInput mi)
{

View File

@@ -30,6 +30,7 @@ namespace OpenRA.Mods.Common.Orders
IEnumerable<IRenderable> IOrderGenerator.RenderAboveShroud(WorldRenderer wr, World world) { return RenderAboveShroud(wr, world); }
string IOrderGenerator.GetCursor(World world, CPos cell, int2 worldPixel, MouseInput mi) { return GetCursor(world, cell, worldPixel, mi); }
void IOrderGenerator.Deactivate() { }
bool IOrderGenerator.HandleKeyPress(KeyInput e) { return false; }
protected abstract void Tick(World world);
protected abstract IEnumerable<IRenderable> Render(WorldRenderer wr, World world);

View File

@@ -144,6 +144,8 @@ namespace OpenRA.Mods.Common.Traits
string IOrderGenerator.GetCursor(World world, CPos cell, int2 worldPixel, MouseInput mi) { return cursor; }
bool IOrderGenerator.HandleKeyPress(KeyInput e) { return false; }
void IOrderGenerator.Deactivate()
{
if (activated)

View File

@@ -495,7 +495,7 @@ namespace OpenRA.Mods.Common.Widgets
}
}
return false;
return world.OrderGenerator.HandleKeyPress(e);
}
ScrollDirection CheckForDirections()