Update ICustomMovementLayer to not depend on actor for costs.
No implementations require the actor.
This commit is contained in:
committed by
Paul Chote
parent
6f3b4ecae9
commit
3a020e96fe
@@ -10,6 +10,7 @@
|
||||
#endregion
|
||||
|
||||
using System.Linq;
|
||||
using OpenRA.Mods.Common.Pathfinder;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
@@ -62,7 +63,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
}
|
||||
|
||||
bool ICustomMovementLayer.EnabledForActor(ActorInfo a, LocomotorInfo li) { return li is JumpjetLocomotorInfo; }
|
||||
bool ICustomMovementLayer.EnabledForLocomotor(LocomotorInfo li) { return li is JumpjetLocomotorInfo; }
|
||||
byte ICustomMovementLayer.Index => CustomMovementLayerType.Jumpjet;
|
||||
bool ICustomMovementLayer.InteractsWithDefaultLayer => true;
|
||||
bool ICustomMovementLayer.ReturnToGroundLayerOnIdle => true;
|
||||
@@ -86,16 +87,16 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return map.Ramp[cell] == 0;
|
||||
}
|
||||
|
||||
int ICustomMovementLayer.EntryMovementCost(ActorInfo a, LocomotorInfo li, CPos cell)
|
||||
int ICustomMovementLayer.EntryMovementCost(LocomotorInfo li, CPos cell)
|
||||
{
|
||||
var jli = (JumpjetLocomotorInfo)li;
|
||||
return ValidTransitionCell(cell, jli) ? jli.JumpjetTransitionCost : int.MaxValue;
|
||||
return ValidTransitionCell(cell, jli) ? jli.JumpjetTransitionCost : PathGraph.CostForInvalidCell;
|
||||
}
|
||||
|
||||
int ICustomMovementLayer.ExitMovementCost(ActorInfo a, LocomotorInfo li, CPos cell)
|
||||
int ICustomMovementLayer.ExitMovementCost(LocomotorInfo li, CPos cell)
|
||||
{
|
||||
var jli = (JumpjetLocomotorInfo)li;
|
||||
return ValidTransitionCell(cell, jli) ? jli.JumpjetTransitionCost : int.MaxValue;
|
||||
return ValidTransitionCell(cell, jli) ? jli.JumpjetTransitionCost : PathGraph.CostForInvalidCell;
|
||||
}
|
||||
|
||||
byte ICustomMovementLayer.GetTerrainIndex(CPos cell)
|
||||
|
||||
Reference in New Issue
Block a user