remove spurious constructor from MoveAdjacentTo
This commit is contained in:
@@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA.Activities
|
|||||||
var mobile = self.Trait<Mobile>();
|
var mobile = self.Trait<Mobile>();
|
||||||
var nearest = target.OccupiesSpace.NearestCellTo( mobile.toCell );
|
var nearest = target.OccupiesSpace.NearestCellTo( mobile.toCell );
|
||||||
if( ( nearest - mobile.toCell ).LengthSquared > 2 )
|
if( ( nearest - mobile.toCell ).LengthSquared > 2 )
|
||||||
return Util.SequenceActivities( new MoveAdjacentTo( target ), this );
|
return Util.SequenceActivities( new MoveAdjacentTo( Target.FromActor(target) ), this );
|
||||||
|
|
||||||
return Util.SequenceActivities( mobile.MoveTo( nearest, target ), NextActivity );
|
return Util.SequenceActivities( mobile.MoveTo( nearest, target ), NextActivity );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA.Activities
|
|||||||
return new Wait(20);
|
return new Wait(20);
|
||||||
|
|
||||||
return Util.SequenceActivities(
|
return Util.SequenceActivities(
|
||||||
new MoveAdjacentTo(rearmTarget),
|
new MoveAdjacentTo(Target.FromActor(rearmTarget)),
|
||||||
mobile.MoveTo(Traits.Util.CellContaining(rearmTarget.CenterLocation), rearmTarget),
|
mobile.MoveTo(Traits.Util.CellContaining(rearmTarget.CenterLocation), rearmTarget),
|
||||||
new Rearm(self),
|
new Rearm(self),
|
||||||
new Repair(rearmTarget),
|
new Repair(rearmTarget),
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ namespace OpenRA.Mods.RA.Activities
|
|||||||
{
|
{
|
||||||
readonly Target target;
|
readonly Target target;
|
||||||
|
|
||||||
public MoveAdjacentTo( Actor target ) { this.target = Target.FromActor(target); }
|
|
||||||
public MoveAdjacentTo( Target target ) { this.target = target; }
|
public MoveAdjacentTo( Target target ) { this.target = target; }
|
||||||
|
|
||||||
public override Activity Tick( Actor self )
|
public override Activity Tick( Actor self )
|
||||||
|
|||||||
@@ -20,11 +20,10 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
class MinelayerInfo : TraitInfo<Minelayer>
|
class MinelayerInfo : TraitInfo<Minelayer>
|
||||||
{
|
{
|
||||||
[ActorReference]
|
[ActorReference] public readonly string Mine = "minv";
|
||||||
public readonly string Mine = "minv";
|
[ActorReference] public readonly string[] RearmBuildings = { "fix" };
|
||||||
|
|
||||||
public readonly float MinefieldDepth = 1.5f;
|
public readonly float MinefieldDepth = 1.5f;
|
||||||
[ActorReference]
|
|
||||||
public readonly string[] RearmBuildings = { "fix" };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Minelayer : IIssueOrder, IResolveOrder, IPostRenderSelection, ISync
|
class Minelayer : IIssueOrder, IResolveOrder, IPostRenderSelection, ISync
|
||||||
|
|||||||
@@ -74,11 +74,12 @@ namespace OpenRA.Mods.RA
|
|||||||
if (order.TargetActor == null) return;
|
if (order.TargetActor == null) return;
|
||||||
if (!CanEnter(order.TargetActor)) return;
|
if (!CanEnter(order.TargetActor)) return;
|
||||||
if (!IsCorrectCargoType(order.TargetActor)) return;
|
if (!IsCorrectCargoType(order.TargetActor)) return;
|
||||||
|
|
||||||
self.SetTargetLine(Target.FromOrder(order), Color.Green);
|
var target = Target.FromOrder(order);
|
||||||
|
self.SetTargetLine(target, Color.Green);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(new MoveAdjacentTo(order.TargetActor));
|
self.QueueActivity(new MoveAdjacentTo(target));
|
||||||
self.QueueActivity(new EnterTransport(self, order.TargetActor));
|
self.QueueActivity(new EnterTransport(self, order.TargetActor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,29 +60,30 @@ namespace OpenRA.Mods.RA
|
|||||||
var li = self.TraitOrDefault<LimitedAmmo>();
|
var li = self.TraitOrDefault<LimitedAmmo>();
|
||||||
return (Health.DamageState > DamageState.Undamaged || (li != null && !li.FullAmmo()) );
|
return (Health.DamageState > DamageState.Undamaged || (li != null && !li.FullAmmo()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
public string VoicePhraseForOrder(Actor self, Order order)
|
public string VoicePhraseForOrder(Actor self, Order order)
|
||||||
{
|
{
|
||||||
return (order.OrderString == "Repair" && CanRepair()) ? "Move" : null;
|
return (order.OrderString == "Repair" && CanRepair()) ? "Move" : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResolveOrder(Actor self, Order order)
|
public void ResolveOrder(Actor self, Order order)
|
||||||
{
|
{
|
||||||
if (order.OrderString == "Repair")
|
if (order.OrderString == "Repair")
|
||||||
{
|
{
|
||||||
if( !CanRepairAt( order.TargetActor ) || !CanRepair() )
|
if( !CanRepairAt( order.TargetActor ) || !CanRepair() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var mobile = self.Trait<Mobile>();
|
var mobile = self.Trait<Mobile>();
|
||||||
var rp = order.TargetActor.TraitOrDefault<RallyPoint>();
|
var target = Target.FromOrder(order);
|
||||||
self.SetTargetLine(Target.FromOrder(order), Color.Green);
|
self.SetTargetLine(target, Color.Green);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(new MoveAdjacentTo(order.TargetActor));
|
self.QueueActivity(new MoveAdjacentTo(target));
|
||||||
self.QueueActivity(mobile.MoveTo(Traits.Util.CellContaining(order.TargetActor.CenterLocation), order.TargetActor));
|
self.QueueActivity(mobile.MoveTo(Traits.Util.CellContaining(order.TargetActor.CenterLocation), order.TargetActor));
|
||||||
self.QueueActivity(new Rearm(self));
|
self.QueueActivity(new Rearm(self));
|
||||||
self.QueueActivity(new Repair(order.TargetActor));
|
self.QueueActivity(new Repair(order.TargetActor));
|
||||||
|
|
||||||
|
var rp = order.TargetActor.TraitOrDefault<RallyPoint>();
|
||||||
if (rp != null)
|
if (rp != null)
|
||||||
self.QueueActivity(new CallFunc(() =>
|
self.QueueActivity(new CallFunc(() =>
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user