Class LineFormation
- Namespace
- TaleWorlds.MountAndBlade
- Assembly
- TaleWorlds.MountAndBlade.dll
public class LineFormation : IFormationArrangement
- Inheritance
-
LineFormation
- Implements
- Derived
- Inherited Members
Constructors
LineFormation(IFormation, bool)
public LineFormation(IFormation ownerFormation, bool isStaggered = true)
Parameters
ownerFormation
IFormationisStaggered
bool
LineFormation(IFormation, bool, bool)
protected LineFormation(IFormation ownerFormation, bool isDeformingOnWidthChange, bool isStaggered = true)
Parameters
ownerFormation
IFormationisDeformingOnWidthChange
boolisStaggered
bool
Fields
IsTransforming
protected bool IsTransforming
Field Value
UnitPositionAvailabilities
protected MBList2D<int> UnitPositionAvailabilities
Field Value
UnitPositionAvailabilityValueOfAvailable
protected const int UnitPositionAvailabilityValueOfAvailable = 2
Field Value
UnitPositionAvailabilityValueOfUnavailable
protected const int UnitPositionAvailabilityValueOfUnavailable = 1
Field Value
UnitPositionAvailabilityValueOfUnprocessed
protected const int UnitPositionAvailabilityValueOfUnprocessed = 0
Field Value
owner
protected readonly IFormation owner
Field Value
Properties
AreLocalPositionsDirty
public bool AreLocalPositionsDirty { protected get; set; }
Property Value
Depth
public virtual float Depth { get; }
Property Value
Distance
protected float Distance { get; }
Property Value
FileCount
protected int FileCount { get; }
Property Value
FlankWidth
public float FlankWidth { get; set; }
Property Value
Interval
protected float Interval { get; }
Property Value
IsLoose
public virtual bool? IsLoose { get; }
Property Value
- bool?
IsStaggered
public bool IsStaggered { get; set; }
Property Value
MaximumWidth
public virtual float MaximumWidth { get; }
Property Value
MinimumFlankWidth
public float MinimumFlankWidth { get; }
Property Value
MinimumWidth
public virtual float MinimumWidth { get; }
Property Value
PositionedUnitCount
public int PositionedUnitCount { get; }
Property Value
RankCount
public int RankCount { get; }
Property Value
RankDepth
public float RankDepth { get; }
Property Value
UnitCount
public int UnitCount { get; }
Property Value
UnitDiameter
protected float UnitDiameter { get; }
Property Value
Width
public virtual float Width { get; set; }
Property Value
Methods
AddUnit(IFormationUnit)
public bool AddUnit(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
BatchUnitPositionAvailabilities(bool)
public void BatchUnitPositionAvailabilities(bool isUpdatingCachedOrderedLocalPositions = true)
Parameters
isUpdatingCachedOrderedLocalPositions
bool
BeforeFormationFrameChange()
public void BeforeFormationFrameChange()
CalculateWidth(float, float, int)
public static float CalculateWidth(float interval, float unitDiameter, int unitCountOnLine)
Parameters
Returns
Clone(IFormation)
public virtual IFormationArrangement Clone(IFormation formation)
Parameters
formation
IFormation
Returns
CreateNewPosition(int)
public Vec2? CreateNewPosition(int unitIndex)
Parameters
unitIndex
int
Returns
- Vec2?
DeepCopyFrom(IFormationArrangement)
public virtual void DeepCopyFrom(IFormationArrangement arrangement)
Parameters
arrangement
IFormationArrangement
FormFromFlankWidth(int, bool)
public void FormFromFlankWidth(int unitCountOnLine, bool skipSingleFileChangesForPerformance = false)
Parameters
GetAllUnits()
public MBReadOnlyList<IFormationUnit> GetAllUnits()
Returns
GetCachedOrderedAndAvailableUnitPositionIndexAt(int)
public Vec2i GetCachedOrderedAndAvailableUnitPositionIndexAt(int i)
Parameters
i
int
Returns
GetCachedOrderedAndAvailableUnitPositionIndicesCount()
public int GetCachedOrderedAndAvailableUnitPositionIndicesCount()
Returns
GetDirectionChangeTendencyOfUnit(IFormationUnit)
public virtual float GetDirectionChangeTendencyOfUnit(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
GetFileCountFromWidth(float)
public int GetFileCountFromWidth(float width)
Parameters
width
float
Returns
GetFormationInfo(out int, out int)
public void GetFormationInfo(out int fileCount, out int rankCount)
Parameters
GetGlobalPositionAtIndex(int, int)
public WorldPosition GetGlobalPositionAtIndex(int indexX, int indexY)
Parameters
Returns
GetLocalDirectionOfRelativeFormationLocation(IFormationUnit)
public Vec2? GetLocalDirectionOfRelativeFormationLocation(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
- Vec2?
GetLocalDirectionOfUnit(int, int)
protected virtual Vec2 GetLocalDirectionOfUnit(int fileIndex, int rankIndex)
Parameters
Returns
GetLocalDirectionOfUnitOrDefault(int)
public Vec2? GetLocalDirectionOfUnitOrDefault(int unitIndex)
Parameters
unitIndex
int
Returns
- Vec2?
GetLocalDirectionOfUnitOrDefault(IFormationUnit)
public virtual Vec2? GetLocalDirectionOfUnitOrDefault(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
- Vec2?
GetLocalPositionOfReservedUnitPosition()
public Vec2 GetLocalPositionOfReservedUnitPosition()
Returns
GetLocalPositionOfUnit(int, int)
protected virtual Vec2 GetLocalPositionOfUnit(int fileIndex, int rankIndex)
Parameters
Returns
GetLocalPositionOfUnitOrDefault(int)
public Vec2? GetLocalPositionOfUnitOrDefault(int unitIndex)
Parameters
unitIndex
int
Returns
- Vec2?
GetLocalPositionOfUnitOrDefault(IFormationUnit)
public Vec2? GetLocalPositionOfUnitOrDefault(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
- Vec2?
GetLocalPositionOfUnitOrDefaultWithAdjustment(IFormationUnit, float)
public Vec2? GetLocalPositionOfUnitOrDefaultWithAdjustment(IFormationUnit unit, float distanceBetweenAgentsAdjustment)
Parameters
unit
IFormationUnitdistanceBetweenAgentsAdjustment
float
Returns
- Vec2?
GetLocalPositionOfUnitWithAdjustment(int, int, float)
protected virtual Vec2 GetLocalPositionOfUnitWithAdjustment(int fileIndex, int rankIndex, float distanceBetweenAgentsAdjustment)
Parameters
Returns
GetLocalWallDirectionOfRelativeFormationLocation(IFormationUnit)
public Vec2? GetLocalWallDirectionOfRelativeFormationLocation(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
- Vec2?
GetNeighborUnitOfLeftSide(IFormationUnit)
public IFormationUnit GetNeighborUnitOfLeftSide(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
GetNeighborUnitOfRightSide(IFormationUnit)
public IFormationUnit GetNeighborUnitOfRightSide(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
GetOccupationWidth(int)
public float GetOccupationWidth(int unitCount)
Parameters
unitCount
int
Returns
GetPlayerUnit()
public IFormationUnit GetPlayerUnit()
Returns
GetUnavailableUnitPositions()
public IEnumerable<Vec2> GetUnavailableUnitPositions()
Returns
GetUnit(int, int)
public IFormationUnit GetUnit(int fileIndex, int rankIndex)
Parameters
Returns
GetUnitAt(int, int)
protected IFormationUnit GetUnitAt(int fileIndex, int rankIndex)
Parameters
Returns
GetUnitCountWithOverride()
protected int GetUnitCountWithOverride()
Returns
GetUnitsDistanceToFrontLine(IFormationUnit)
public float GetUnitsDistanceToFrontLine(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
GetUnitsToPop(int)
public List<IFormationUnit> GetUnitsToPop(int count)
Parameters
count
int
Returns
GetUnitsToPop(int, Vec3)
public List<IFormationUnit> GetUnitsToPop(int count, Vec3 targetPosition)
Parameters
Returns
GetUnitsToPopWithCondition(int, Func<IFormationUnit, bool>)
public IEnumerable<IFormationUnit> GetUnitsToPopWithCondition(int count, Func<IFormationUnit, bool> currentCondition)
Parameters
count
intcurrentCondition
Func<IFormationUnit, bool>
Returns
GetUnpositionedUnits()
public MBList<IFormationUnit> GetUnpositionedUnits()
Returns
GetWorldPositionOfUnitOrDefault(int)
public WorldPosition? GetWorldPositionOfUnitOrDefault(int unitIndex)
Parameters
unitIndex
int
Returns
GetWorldPositionOfUnitOrDefault(IFormationUnit)
public WorldPosition? GetWorldPositionOfUnitOrDefault(IFormationUnit unit)
Parameters
unit
IFormationUnit
Returns
InvalidateCacheOfUnitAux(Vec2)
public void InvalidateCacheOfUnitAux(Vec2 roundedLocalPosition)
Parameters
roundedLocalPosition
Vec2
IsDeepenApplicable()
protected virtual bool IsDeepenApplicable()
Returns
IsNarrowApplicable(int)
protected virtual bool IsNarrowApplicable(int amount)
Parameters
amount
int
Returns
IsTurnBackwardsNecessary(Vec2, WorldPosition?, Vec2, bool, Vec2?)
public bool IsTurnBackwardsNecessary(Vec2 previousPosition, WorldPosition? newPosition, Vec2 previousDirection, bool hasNewDirection, Vec2? newDirection)
Parameters
previousPosition
Vec2newPosition
WorldPosition?previousDirection
Vec2hasNewDirection
boolnewDirection
Vec2?
Returns
IsUnitPositionAvailable(int, int)
public bool IsUnitPositionAvailable(int fileIndex, int rankIndex)
Parameters
Returns
IsUnitPositionRestrained(int, int)
protected virtual bool IsUnitPositionRestrained(int fileIndex, int rankIndex)
Parameters
Returns
MakeRestrainedPositionsUnavailable()
protected virtual void MakeRestrainedPositionsUnavailable()
OnBatchRemoveEnd()
public void OnBatchRemoveEnd()
OnBatchRemoveStart()
public void OnBatchRemoveStart()
OnFormationDispersed()
public void OnFormationDispersed()
OnFormationFrameChanged()
public void OnFormationFrameChanged()
OnTickOccasionallyOfUnit(IFormationUnit, bool)
public virtual void OnTickOccasionallyOfUnit(IFormationUnit unit, bool arrangementChangeAllowed)
Parameters
unit
IFormationUnitarrangementChangeAllowed
bool
OnUnitLostMount(IFormationUnit)
public void OnUnitLostMount(IFormationUnit unit)
Parameters
unit
IFormationUnit
RearrangeFrom(IFormationArrangement)
public virtual void RearrangeFrom(IFormationArrangement arrangement)
Parameters
arrangement
IFormationArrangement
RearrangeTo(IFormationArrangement)
public virtual void RearrangeTo(IFormationArrangement arrangement)
Parameters
arrangement
IFormationArrangement
RearrangeTransferUnits(IFormationArrangement)
public virtual void RearrangeTransferUnits(IFormationArrangement arrangement)
Parameters
arrangement
IFormationArrangement
ReleaseMiddleFrontUnitPosition()
public void ReleaseMiddleFrontUnitPosition()
RelocateUnit(IFormationUnit, int, int)
protected void RelocateUnit(IFormationUnit unit, int fileIndex, int rankIndex)
Parameters
unit
IFormationUnitfileIndex
intrankIndex
int
RemoveUnit(IFormationUnit)
public void RemoveUnit(IFormationUnit unit)
Parameters
unit
IFormationUnit
ReserveMiddleFrontUnitPosition(IFormationUnit)
public void ReserveMiddleFrontUnitPosition(IFormationUnit vanguard)
Parameters
vanguard
IFormationUnit
Reset()
public void Reset()
SwitchUnitLocations(IFormationUnit, IFormationUnit)
public void SwitchUnitLocations(IFormationUnit firstUnit, IFormationUnit secondUnit)
Parameters
firstUnit
IFormationUnitsecondUnit
IFormationUnit
SwitchUnitLocationsWithBackMostUnit(IFormationUnit)
public void SwitchUnitLocationsWithBackMostUnit(IFormationUnit unit)
Parameters
unit
IFormationUnit
SwitchUnitLocationsWithUnpositionedUnit(IFormationUnit, IFormationUnit)
public void SwitchUnitLocationsWithUnpositionedUnit(IFormationUnit firstUnit, IFormationUnit secondUnit)
Parameters
firstUnit
IFormationUnitsecondUnit
IFormationUnit
TryGetUnitPositionIndexFromLocalPosition(Vec2, out int, out int)
protected virtual bool TryGetUnitPositionIndexFromLocalPosition(Vec2 localPosition, out int fileIndex, out int rankIndex)
Parameters
Returns
TurnBackwards()
public virtual void TurnBackwards()
Events
OnShapeChanged
public event Action OnShapeChanged
Event Type
OnWidthChanged
public event Action OnWidthChanged
Event Type
This page was last modified at 09/01/2024 16:12:00 +00:00 (UTC).