M&B: Bannerlord 1.1.0
The horns sound, the ravens gather.
Loading...
Searching...
No Matches
TaleWorlds.MountAndBlade.IFormationArrangement Interface Reference

Inherited by TaleWorlds.MountAndBlade.ColumnFormation, and TaleWorlds.MountAndBlade.LineFormation.

Public Member Functions

IFormationUnit GetPlayerUnit ()
 
MBList< IFormationUnitGetAllUnits ()
 
MBList< IFormationUnitGetUnpositionedUnits ()
 
bool AddUnit (IFormationUnit unit)
 Adding may fail if there is no vacant position and deepening the formation does not create any new vacant positions.
 
void RemoveUnit (IFormationUnit unit)
 
IFormationUnit GetUnit (int fileIndex, int rankIndex)
 Returns the unit at the specified file and rank index Returns null if the specified position is restrained, is not valid or if there is no agent assigned to this position.
 
void OnBatchRemoveStart ()
 Notifies the arrangement that remove operations will be done in batch for performance. Child arrangements should provide their own implementation.
 
void OnBatchRemoveEnd ()
 
Vec2GetLocalPositionOfUnitOrDefault (int unitIndex)
 
Vec2GetLocalPositionOfUnitOrDefault (IFormationUnit unit)
 
Vec2GetLocalPositionOfUnitOrDefaultWithAdjustment (IFormationUnit unit, float distanceBetweenAgentsAdjustment)
 
Vec2GetLocalDirectionOfUnitOrDefault (int unitIndex)
 
Vec2GetLocalDirectionOfUnitOrDefault (IFormationUnit unit)
 
WorldPositionGetWorldPositionOfUnitOrDefault (int unitIndex)
 
WorldPositionGetWorldPositionOfUnitOrDefault (IFormationUnit unit)
 
List< IFormationUnitGetUnitsToPop (int count)
 
List< IFormationUnitGetUnitsToPop (int count, Vec3 targetPosition)
 
IEnumerable< IFormationUnitGetUnitsToPopWithCondition (int count, Func< IFormationUnit, bool > conditionFunction)
 
void SwitchUnitLocations (IFormationUnit firstUnit, IFormationUnit secondUnit)
 
void SwitchUnitLocationsWithUnpositionedUnit (IFormationUnit firstUnit, IFormationUnit secondUnit)
 
void SwitchUnitLocationsWithBackMostUnit (IFormationUnit unit)
 
IFormationUnit GetNeighborUnitOfLeftSide (IFormationUnit unit)
 
IFormationUnit GetNeighborUnitOfRightSide (IFormationUnit unit)
 
Vec2GetLocalWallDirectionOfRelativeFormationLocation (IFormationUnit unit)
 
IEnumerable< Vec2GetUnavailableUnitPositions ()
 
float GetOccupationWidth (int unitCount)
 
Vec2CreateNewPosition (int unitIndex)
 
void BeforeFormationFrameChange ()
 
void OnFormationFrameChanged ()
 
bool IsTurnBackwardsNecessary (Vec2 previousPosition, WorldPosition? newPosition, Vec2 previousDirection, bool hasNewDirection, Vec2? newDirection)
 
void TurnBackwards ()
 
void OnFormationDispersed ()
 
void Reset ()
 
IFormationArrangement Clone (IFormation formation)
 
void DeepCopyFrom (IFormationArrangement arrangement)
 
void RearrangeTo (IFormationArrangement arrangement)
 
void RearrangeFrom (IFormationArrangement arrangement)
 
void RearrangeTransferUnits (IFormationArrangement arrangement)
 
void ReserveMiddleFrontUnitPosition (IFormationUnit vanguard)
 
void ReleaseMiddleFrontUnitPosition ()
 
Vec2 GetLocalPositionOfReservedUnitPosition ()
 
void OnTickOccasionallyOfUnit (IFormationUnit unit, bool arrangementChangeAllowed)
 
void OnUnitLostMount (IFormationUnit unit)
 
float GetDirectionChangeTendencyOfUnit (IFormationUnit unit)
 

Properties

float Width [get, set]
 Actual space occupied by the formation along side (x) direction, measured from left to right.
 
float Depth [get]
 Actual space occupied by the formation along forward (y) direction, from front to back.
 
float FlankWidth [get, set]
 Space occupied from the formation's left most flank to right most flank REMARK_ATES: For rectangular formations this matches width. For circular formations (and alike) this matches circumference.
 
float RankDepth [get]
 Space occupied from the formation's front rank to back most rank. REMARK_ATES: For rectangular formations this matches depth. For circular formations (and alike) this matches radius.
 
float MinimumWidth [get]
 Minimum width of the formation. Using current unit count, minimum unit interval and minimum unit distance.
 
float MaximumWidth [get]
 Maximum width of the formation. Using current unit count, maximum unit interval and maximum unit distance.
 
float MinimumFlankWidth [get]
 
bool? IsLoose [get]
 
int UnitCount [get]
 
int RankCount [get]
 
int PositionedUnitCount [get]
 
bool AreLocalPositionsDirty [set]
 

Events

Action OnWidthChanged
 
Action OnShapeChanged
 

Member Function Documentation

◆ GetPlayerUnit()

IFormationUnit TaleWorlds.MountAndBlade.IFormationArrangement.GetPlayerUnit ( )

◆ GetAllUnits()

MBList< IFormationUnit > TaleWorlds.MountAndBlade.IFormationArrangement.GetAllUnits ( )

◆ GetUnpositionedUnits()

MBList< IFormationUnit > TaleWorlds.MountAndBlade.IFormationArrangement.GetUnpositionedUnits ( )

◆ AddUnit()

bool TaleWorlds.MountAndBlade.IFormationArrangement.AddUnit ( IFormationUnit  unit)

◆ RemoveUnit()

void TaleWorlds.MountAndBlade.IFormationArrangement.RemoveUnit ( IFormationUnit  unit)

◆ GetUnit()

IFormationUnit TaleWorlds.MountAndBlade.IFormationArrangement.GetUnit ( int  fileIndex,
int  rankIndex 
)

◆ OnBatchRemoveStart()

void TaleWorlds.MountAndBlade.IFormationArrangement.OnBatchRemoveStart ( )

◆ OnBatchRemoveEnd()

void TaleWorlds.MountAndBlade.IFormationArrangement.OnBatchRemoveEnd ( )

◆ GetLocalPositionOfUnitOrDefault() [1/2]

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalPositionOfUnitOrDefault ( int  unitIndex)

◆ GetLocalPositionOfUnitOrDefault() [2/2]

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalPositionOfUnitOrDefault ( IFormationUnit  unit)

◆ GetLocalPositionOfUnitOrDefaultWithAdjustment()

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalPositionOfUnitOrDefaultWithAdjustment ( IFormationUnit  unit,
float  distanceBetweenAgentsAdjustment 
)

◆ GetLocalDirectionOfUnitOrDefault() [1/2]

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalDirectionOfUnitOrDefault ( int  unitIndex)

◆ GetLocalDirectionOfUnitOrDefault() [2/2]

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalDirectionOfUnitOrDefault ( IFormationUnit  unit)

◆ GetWorldPositionOfUnitOrDefault() [1/2]

WorldPosition? TaleWorlds.MountAndBlade.IFormationArrangement.GetWorldPositionOfUnitOrDefault ( int  unitIndex)

◆ GetWorldPositionOfUnitOrDefault() [2/2]

WorldPosition? TaleWorlds.MountAndBlade.IFormationArrangement.GetWorldPositionOfUnitOrDefault ( IFormationUnit  unit)

◆ GetUnitsToPop() [1/2]

List< IFormationUnit > TaleWorlds.MountAndBlade.IFormationArrangement.GetUnitsToPop ( int  count)

◆ GetUnitsToPop() [2/2]

List< IFormationUnit > TaleWorlds.MountAndBlade.IFormationArrangement.GetUnitsToPop ( int  count,
Vec3  targetPosition 
)

◆ GetUnitsToPopWithCondition()

IEnumerable< IFormationUnit > TaleWorlds.MountAndBlade.IFormationArrangement.GetUnitsToPopWithCondition ( int  count,
Func< IFormationUnit, bool >  conditionFunction 
)

◆ SwitchUnitLocations()

void TaleWorlds.MountAndBlade.IFormationArrangement.SwitchUnitLocations ( IFormationUnit  firstUnit,
IFormationUnit  secondUnit 
)

◆ SwitchUnitLocationsWithUnpositionedUnit()

void TaleWorlds.MountAndBlade.IFormationArrangement.SwitchUnitLocationsWithUnpositionedUnit ( IFormationUnit  firstUnit,
IFormationUnit  secondUnit 
)

◆ SwitchUnitLocationsWithBackMostUnit()

void TaleWorlds.MountAndBlade.IFormationArrangement.SwitchUnitLocationsWithBackMostUnit ( IFormationUnit  unit)

◆ GetNeighborUnitOfLeftSide()

IFormationUnit TaleWorlds.MountAndBlade.IFormationArrangement.GetNeighborUnitOfLeftSide ( IFormationUnit  unit)

◆ GetNeighborUnitOfRightSide()

IFormationUnit TaleWorlds.MountAndBlade.IFormationArrangement.GetNeighborUnitOfRightSide ( IFormationUnit  unit)

◆ GetLocalWallDirectionOfRelativeFormationLocation()

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalWallDirectionOfRelativeFormationLocation ( IFormationUnit  unit)

◆ GetUnavailableUnitPositions()

IEnumerable< Vec2 > TaleWorlds.MountAndBlade.IFormationArrangement.GetUnavailableUnitPositions ( )

◆ GetOccupationWidth()

float TaleWorlds.MountAndBlade.IFormationArrangement.GetOccupationWidth ( int  unitCount)

◆ CreateNewPosition()

Vec2? TaleWorlds.MountAndBlade.IFormationArrangement.CreateNewPosition ( int  unitIndex)

◆ BeforeFormationFrameChange()

void TaleWorlds.MountAndBlade.IFormationArrangement.BeforeFormationFrameChange ( )

◆ OnFormationFrameChanged()

void TaleWorlds.MountAndBlade.IFormationArrangement.OnFormationFrameChanged ( )

◆ IsTurnBackwardsNecessary()

bool TaleWorlds.MountAndBlade.IFormationArrangement.IsTurnBackwardsNecessary ( Vec2  previousPosition,
WorldPosition newPosition,
Vec2  previousDirection,
bool  hasNewDirection,
Vec2 newDirection 
)

◆ TurnBackwards()

void TaleWorlds.MountAndBlade.IFormationArrangement.TurnBackwards ( )

◆ OnFormationDispersed()

void TaleWorlds.MountAndBlade.IFormationArrangement.OnFormationDispersed ( )

◆ Reset()

void TaleWorlds.MountAndBlade.IFormationArrangement.Reset ( )

◆ Clone()

◆ DeepCopyFrom()

void TaleWorlds.MountAndBlade.IFormationArrangement.DeepCopyFrom ( IFormationArrangement  arrangement)

◆ RearrangeTo()

void TaleWorlds.MountAndBlade.IFormationArrangement.RearrangeTo ( IFormationArrangement  arrangement)

◆ RearrangeFrom()

void TaleWorlds.MountAndBlade.IFormationArrangement.RearrangeFrom ( IFormationArrangement  arrangement)

◆ RearrangeTransferUnits()

void TaleWorlds.MountAndBlade.IFormationArrangement.RearrangeTransferUnits ( IFormationArrangement  arrangement)

◆ ReserveMiddleFrontUnitPosition()

void TaleWorlds.MountAndBlade.IFormationArrangement.ReserveMiddleFrontUnitPosition ( IFormationUnit  vanguard)

◆ ReleaseMiddleFrontUnitPosition()

void TaleWorlds.MountAndBlade.IFormationArrangement.ReleaseMiddleFrontUnitPosition ( )

◆ GetLocalPositionOfReservedUnitPosition()

Vec2 TaleWorlds.MountAndBlade.IFormationArrangement.GetLocalPositionOfReservedUnitPosition ( )

◆ OnTickOccasionallyOfUnit()

void TaleWorlds.MountAndBlade.IFormationArrangement.OnTickOccasionallyOfUnit ( IFormationUnit  unit,
bool  arrangementChangeAllowed 
)

◆ OnUnitLostMount()

void TaleWorlds.MountAndBlade.IFormationArrangement.OnUnitLostMount ( IFormationUnit  unit)

◆ GetDirectionChangeTendencyOfUnit()

float TaleWorlds.MountAndBlade.IFormationArrangement.GetDirectionChangeTendencyOfUnit ( IFormationUnit  unit)

Property Documentation

◆ Width

◆ Depth

◆ FlankWidth

float TaleWorlds.MountAndBlade.IFormationArrangement.FlankWidth
getset

◆ RankDepth

float TaleWorlds.MountAndBlade.IFormationArrangement.RankDepth
get

◆ MinimumWidth

◆ MaximumWidth

◆ MinimumFlankWidth

float TaleWorlds.MountAndBlade.IFormationArrangement.MinimumFlankWidth
get

◆ IsLoose

bool? TaleWorlds.MountAndBlade.IFormationArrangement.IsLoose
get

◆ UnitCount

int TaleWorlds.MountAndBlade.IFormationArrangement.UnitCount
get

◆ RankCount

int TaleWorlds.MountAndBlade.IFormationArrangement.RankCount
get

◆ PositionedUnitCount

int TaleWorlds.MountAndBlade.IFormationArrangement.PositionedUnitCount
get

◆ AreLocalPositionsDirty

bool TaleWorlds.MountAndBlade.IFormationArrangement.AreLocalPositionsDirty
set

Event Documentation

◆ OnWidthChanged

Action TaleWorlds.MountAndBlade.IFormationArrangement.OnWidthChanged

◆ OnShapeChanged

Action TaleWorlds.MountAndBlade.IFormationArrangement.OnShapeChanged