start removing weird ctors on Order
This commit is contained in:
@@ -33,43 +33,15 @@ namespace OpenRA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class _Order
|
|
||||||
{
|
|
||||||
public readonly string OrderString;
|
|
||||||
public readonly Actor Subject;
|
|
||||||
public Actor TargetActor;
|
|
||||||
public int2 TargetLocation;
|
|
||||||
public string TargetString;
|
|
||||||
public bool Queued;
|
|
||||||
public int2 ExtraLocation;
|
|
||||||
|
|
||||||
public _Order(Actor subject, string orderString)
|
|
||||||
{
|
|
||||||
this.Subject = subject;
|
|
||||||
this.OrderString = orderString;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static implicit operator Order(_Order o)
|
|
||||||
{
|
|
||||||
return new Order(o.OrderString,
|
|
||||||
o.Subject,
|
|
||||||
o.TargetActor,
|
|
||||||
o.TargetLocation,
|
|
||||||
o.TargetString,
|
|
||||||
o.Queued,
|
|
||||||
o.ExtraLocation);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public sealed class Order
|
public sealed class Order
|
||||||
{
|
{
|
||||||
public readonly string OrderString;
|
public readonly string OrderString;
|
||||||
public readonly Actor Subject;
|
public readonly Actor Subject;
|
||||||
public readonly Actor TargetActor;
|
|
||||||
public readonly int2 TargetLocation;
|
|
||||||
public readonly string TargetString;
|
|
||||||
public readonly bool Queued;
|
public readonly bool Queued;
|
||||||
public readonly int2 ExtraLocation;
|
public Actor TargetActor;
|
||||||
|
public int2 TargetLocation;
|
||||||
|
public string TargetString;
|
||||||
|
public int2 ExtraLocation;
|
||||||
public bool IsImmediate;
|
public bool IsImmediate;
|
||||||
|
|
||||||
public Player Player { get { return Subject.Owner; } }
|
public Player Player { get { return Subject.Owner; } }
|
||||||
@@ -88,8 +60,6 @@ namespace OpenRA
|
|||||||
|
|
||||||
public Order(string orderString, Actor subject, bool queued)
|
public Order(string orderString, Actor subject, bool queued)
|
||||||
: this(orderString, subject, null, int2.Zero, null, queued, int2.Zero) { }
|
: this(orderString, subject, null, int2.Zero, null, queued, int2.Zero) { }
|
||||||
public Order(string orderString, Actor subject, Actor targetActor, bool queued)
|
|
||||||
: this(orderString, subject, targetActor, int2.Zero, null, queued, int2.Zero) { }
|
|
||||||
public Order(string orderString, Actor subject, int2 targetLocation, bool queued)
|
public Order(string orderString, Actor subject, int2 targetLocation, bool queued)
|
||||||
: this(orderString, subject, null, targetLocation, null, queued, int2.Zero) { }
|
: this(orderString, subject, null, targetLocation, null, queued, int2.Zero) { }
|
||||||
public Order(string orderString, Actor subject, string targetString, bool queued)
|
public Order(string orderString, Actor subject, string targetString, bool queued)
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "Enter" )
|
if( order.OrderID == "Enter" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
if( order.OrderID == "Move" )
|
if( order.OrderID == "Move" )
|
||||||
return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued );
|
return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued );
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "Enter" )
|
if( order.OrderID == "Enter" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
if( order.OrderID == "Move" )
|
if( order.OrderID == "Move" )
|
||||||
return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued );
|
return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued );
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ namespace OpenRA.Mods.RA
|
|||||||
if( order is AttackOrderTargeter )
|
if( order is AttackOrderTargeter )
|
||||||
{
|
{
|
||||||
if( target.IsActor )
|
if( target.IsActor )
|
||||||
return new Order( "Attack", self, target.Actor, queued );
|
return new Order("Attack", self, queued) { TargetActor = target.Actor };
|
||||||
else
|
else
|
||||||
return new Order( "Attack", self, Util.CellContaining( target.CenterLocation ), queued );
|
return new Order( "Attack", self, Util.CellContaining( target.CenterLocation ), queued );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "C4" )
|
if( order.OrderID == "C4" )
|
||||||
return new Order( "C4", self, target.Actor, queued );
|
return new Order("C4", self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ namespace OpenRA.Mods.RA
|
|||||||
return new Order( order.OrderID, self, queued );
|
return new Order( order.OrderID, self, queued );
|
||||||
|
|
||||||
if( order.OrderID == "ReverseEnterTransport" )
|
if( order.OrderID == "ReverseEnterTransport" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -71,7 +71,8 @@ namespace OpenRA.Mods.RA
|
|||||||
if( order.TargetActor != null && order.Subject.Owner == order.TargetActor.Owner )
|
if( order.TargetActor != null && order.Subject.Owner == order.TargetActor.Owner )
|
||||||
{
|
{
|
||||||
var passenger = order.TargetActor.Trait<Passenger>();
|
var passenger = order.TargetActor.Trait<Passenger>();
|
||||||
passenger.ResolveOrder( order.TargetActor, new Order( "EnterTransport", order.TargetActor, self, false ) );
|
passenger.ResolveOrder(order.TargetActor,
|
||||||
|
new Order("EnterTransport", order.TargetActor, false) { TargetActor = self });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "CaptureBuilding" )
|
if( order.OrderID == "CaptureBuilding" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "EngineerRepair" )
|
if( order.OrderID == "EngineerRepair" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "Deliver" )
|
if( order.OrderID == "Deliver" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
if( order.OrderID == "Harvest" )
|
if( order.OrderID == "Harvest" )
|
||||||
return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued );
|
return new Order( order.OrderID, self, Util.CellContaining( target.CenterLocation ), queued );
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "EnterTransport" )
|
if( order.OrderID == "EnterTransport" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "Disguise" )
|
if( order.OrderID == "Disguise" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "Repair" )
|
if( order.OrderID == "Repair" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "RepairNear" )
|
if( order.OrderID == "RepairNear" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
{
|
{
|
||||||
if( order.OrderID == "SpyInfiltrate" )
|
if( order.OrderID == "SpyInfiltrate" )
|
||||||
return new Order( order.OrderID, self, target.Actor, queued );
|
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ namespace OpenRA.Mods.RA
|
|||||||
&& a.HasTrait<Selectable>()).FirstOrDefault();
|
&& a.HasTrait<Selectable>()).FirstOrDefault();
|
||||||
|
|
||||||
if (underCursor != null)
|
if (underCursor != null)
|
||||||
yield return new Order("ChronosphereSelect", world.LocalPlayer.PlayerActor, underCursor, false);
|
yield return new Order("ChronosphereSelect", world.LocalPlayer.PlayerActor, false) { TargetActor = underCursor };
|
||||||
}
|
}
|
||||||
|
|
||||||
yield break;
|
yield break;
|
||||||
|
|||||||
@@ -76,8 +76,8 @@ namespace OpenRA.Mods.RA
|
|||||||
&& a.HasTrait<IronCurtainable>()
|
&& a.HasTrait<IronCurtainable>()
|
||||||
&& a.HasTrait<Selectable>()).FirstOrDefault();
|
&& a.HasTrait<Selectable>()).FirstOrDefault();
|
||||||
|
|
||||||
if( underCursor != null )
|
if (underCursor != null)
|
||||||
yield return new Order( "IronCurtain", underCursor.Owner.PlayerActor, underCursor, false );
|
yield return new Order("IronCurtain", underCursor.Owner.PlayerActor, false) { TargetActor = underCursor };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user