Pushed down the MouseInput handling to the OrderGenerators and made a base class for handling the basic logic

This commit is contained in:
teinarss
2019-03-30 20:07:11 +01:00
committed by reaperrr
parent 9ec8d25dff
commit 1dd90a1d7b
13 changed files with 120 additions and 77 deletions

View File

@@ -15,9 +15,9 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Orders
{
public class BeaconOrderGenerator : IOrderGenerator
public class BeaconOrderGenerator : OrderGenerator
{
public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi)
protected override IEnumerable<Order> OrderInner(World world, CPos cell, int2 worldPixel, MouseInput mi)
{
world.CancelInputMode();
@@ -25,10 +25,10 @@ namespace OpenRA.Mods.Common.Orders
yield return new Order("PlaceBeacon", world.LocalPlayer.PlayerActor, Target.FromCell(world, cell), false) { SuppressVisualFeedback = true };
}
public virtual void Tick(World world) { }
public IEnumerable<IRenderable> Render(WorldRenderer wr, World world) { yield break; }
public IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world) { yield break; }
public string GetCursor(World world, CPos cell, int2 worldPixel, MouseInput mi)
protected override void Tick(World world) { }
protected override IEnumerable<IRenderable> Render(WorldRenderer wr, World world) { yield break; }
protected override IEnumerable<IRenderable> RenderAboveShroud(WorldRenderer wr, World world) { yield break; }
protected override string GetCursor(World world, CPos cell, int2 worldPixel, MouseInput mi)
{
return "ability";
}