Iron curtain power implementation; Remove AutoActivate attribute to be part of the GPS implementation

This commit is contained in:
Paul Chote
2010-01-09 00:21:39 +13:00
parent d93a7b766a
commit 86b0ee8c97
12 changed files with 101 additions and 55 deletions

View File

@@ -4,11 +4,17 @@ using System.Linq;
using System.Text;
using OpenRa.Game.GameRules;
using OpenRa.Game.Traits;
using OpenRa.Game.SupportPowers;
namespace OpenRa.Game.Orders
{
class IronCurtainOrderGenerator : IOrderGenerator
{
ISupportPowerImpl power;
public IronCurtainOrderGenerator(ISupportPowerImpl power)
{
this.power = power;
}
public IEnumerable<Order> Order(int2 xy, MouseInput mi)
{
if (mi.Button == MouseButton.Right)
@@ -31,7 +37,8 @@ namespace OpenRa.Game.Orders
if (unit != null)
{
yield return new Order("IronCurtain", underCursor, null, int2.Zero, null);
yield return new Order("IronCurtain", underCursor, this.power);
//yield return new Order("IronCurtain", underCursor, null, int2.Zero, null);
}
}
}

View File

@@ -1,6 +1,7 @@
using System;
using System.IO;
using System.Linq;
using OpenRa.Game.SupportPowers;
namespace OpenRa.Game
{
@@ -31,6 +32,19 @@ namespace OpenRa.Game
this.TargetLocation = targetLocation;
this.TargetString = targetString;
}
// This is a hack - fix me
public readonly ISupportPowerImpl Power;
public Order(string orderString, Actor subject, ISupportPowerImpl power)
{
this.OrderString = orderString;
this.SubjectId = UIntFromActor( subject );
this.Power = power;
this.TargetActorId = UIntFromActor(null);
this.TargetLocation = int2.Zero;
this.TargetString = null;
}
public bool Validate()
{