put enter transport order targeters into respective files
This commit is contained in:
@@ -19,68 +19,6 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public enum AlternateTransportsMode { None, Force, Default, Always }
|
||||
|
||||
public class EnterTransportTargeter : EnterAlliedActorTargeter<CargoInfo>
|
||||
{
|
||||
readonly AlternateTransportsMode mode;
|
||||
|
||||
public EnterTransportTargeter(string order, int priority,
|
||||
Func<Actor, bool> canTarget, Func<Actor, bool> useEnterCursor,
|
||||
AlternateTransportsMode mode)
|
||||
: base(order, priority, canTarget, useEnterCursor) { this.mode = mode; }
|
||||
|
||||
public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case AlternateTransportsMode.None:
|
||||
break;
|
||||
case AlternateTransportsMode.Force:
|
||||
if (modifiers.HasModifier(TargetModifiers.ForceMove))
|
||||
return false;
|
||||
break;
|
||||
case AlternateTransportsMode.Default:
|
||||
if (!modifiers.HasModifier(TargetModifiers.ForceMove))
|
||||
return false;
|
||||
break;
|
||||
case AlternateTransportsMode.Always:
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.CanTargetActor(self, target, modifiers, ref cursor);
|
||||
}
|
||||
}
|
||||
|
||||
public class EnterTransportsTargeter : EnterAlliedActorTargeter<CargoInfo>
|
||||
{
|
||||
readonly AlternateTransportsMode mode;
|
||||
|
||||
public EnterTransportsTargeter(string order, int priority,
|
||||
Func<Actor, bool> canTarget, Func<Actor, bool> useEnterCursor,
|
||||
AlternateTransportsMode mode)
|
||||
: base(order, priority, canTarget, useEnterCursor) { this.mode = mode; }
|
||||
|
||||
public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case AlternateTransportsMode.None:
|
||||
return false;
|
||||
case AlternateTransportsMode.Force:
|
||||
if (!modifiers.HasModifier(TargetModifiers.ForceMove))
|
||||
return false;
|
||||
break;
|
||||
case AlternateTransportsMode.Default:
|
||||
if (modifiers.HasModifier(TargetModifiers.ForceMove))
|
||||
return false;
|
||||
break;
|
||||
case AlternateTransportsMode.Always:
|
||||
break;
|
||||
}
|
||||
|
||||
return base.CanTargetActor(self, target, modifiers, ref cursor);
|
||||
}
|
||||
}
|
||||
|
||||
[Desc("This actor can enter Cargo actors.")]
|
||||
public class PassengerInfo : ITraitInfo
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user