M&B: Bannerlord 1.0.0
The horns sound, the ravens gather.
Loading...
Searching...
No Matches
TaleWorlds.MountAndBlade.Formation Class Reference

Inherits TaleWorlds.MountAndBlade.IFormation.

Public Member Functions

 Formation (Team team, int index)
 
WorldPosition CreateNewOrderWorldPosition (WorldPosition.WorldPositionEnforcedCache worldPositionEnforcedCache)
 Creates new world position from the order position. Warning: this reduces the efficiency of world position ground height caching. Avoid using this if possible. More...
 
void SetMovementOrder (MovementOrder input)
 
void SetControlledByAI (bool isControlledByAI, bool enforceNotSplittableByAI=false)
 Sets if formation is controlled by the AI More...
 
void ResetArrangementOrderTickTimer ()
 
void SetPositioning (WorldPosition? position=null, Vec2? direction=null, int? unitSpacing=null)
 
int GetCountOfUnitsWithCondition (Func< Agent, bool > function)
 
ref readonly MovementOrder GetReadonlyMovementOrderReference ()
 Don't try to use returned value to call member functions of it that changes the returned value. It will be compiled but actual _movementOrder variable will not be changed after the call. More...
 
Agent GetFirstUnit ()
 
Agent GetUnitWithIndex (int unitIndex)
 
Vec2 GetAveragePositionOfUnits (bool excludeDetachedUnits, bool excludePlayer)
 
Agent GetMedianAgent (bool excludeDetachedUnits, bool excludePlayer, Vec2 averagePosition)
 
Agent.UnderAttackType GetUnderAttackTypeOfUnits (float timeLimit=3.0f)
 
Agent.MovementBehaviorType GetMovementTypeOfUnits ()
 
IEnumerable< AgentGetUnitsWithoutDetachedOnes ()
 
Vec2 GetWallDirectionOfRelativeFormationLocation (Agent unit)
 
Vec2 GetDirectionOfUnit (Agent unit)
 
WorldPosition GetOrderPositionOfUnit (Agent unit)
 
Vec2 GetCurrentGlobalPositionOfUnit (Agent unit, bool blendWithOrderDirection)
 
float GetAverageMaximumMovementSpeedOfUnits ()
 
float GetMovementSpeedOfUnits ()
 
float GetFormationPower ()
 
float GetFormationMeleeFightingPower ()
 
IDetachment GetDetachmentOrDefault (Agent agent)
 
WorldFrameGetDetachmentFrame (Agent agent)
 
Vec2 GetMiddleFrontUnitPositionOffset ()
 
List< IFormationUnitGetUnitsToPopWithReferencePosition (int count, Vec3 targetPosition)
 
List< IFormationUnitGetUnitsToPop (int count)
 
IEnumerable< ValueTuple< WorldPosition, Vec2 > > GetUnavailableUnitPositionsAccordingToNewOrder (Formation simulationFormation, in WorldPosition position, in Vec2 direction, float width, int unitSpacing)
 
void GetUnitSpawnFrameWithIndex (int unitIndex, in WorldPosition formationPosition, in Vec2 formationDirection, float width, int unitCount, int unitSpacing, bool isMountedFormation, out WorldPosition? unitSpawnPosition, out Vec2? unitSpawnDirection)
 
void GetUnitPositionWithIndexAccordingToNewOrder (Formation simulationFormation, int unitIndex, in WorldPosition formationPosition, in Vec2 formationDirection, float width, int unitSpacing, out WorldPosition? unitSpawnPosition, out Vec2? unitSpawnDirection)
 
void GetUnitPositionWithIndexAccordingToNewOrder (Formation simulationFormation, int unitIndex, in WorldPosition formationPosition, in Vec2 formationDirection, float width, int unitSpacing, int overridenUnitCount, out WorldPosition? unitPosition, out Vec2? unitDirection)
 
void GetUnitPositionWithIndexAccordingToNewOrder (Formation simulationFormation, int unitIndex, in WorldPosition formationPosition, in Vec2 formationDirection, float width, int unitSpacing, out WorldPosition? unitSpawnPosition, out Vec2? unitSpawnDirection, out float actualWidth)
 
bool HasUnitsWithCondition (Func< Agent, bool > function)
 
bool HasUnitsWithCondition (Func< Agent, bool > function, out Agent result)
 
bool HasUnitWithConditionLimitedRandom (Func< Agent, bool > function, int startingIndex, int willBeCheckedUnitCount, out Agent resultAgent)
 Prioritizes attached agents More...
 
int[] CollectUnitIndices ()
 
void ApplyActionOnEachUnit (Action< Agent > action)
 
void ApplyActionOnEachAttachedUnit (Action< Agent > action)
 
void ApplyActionOnEachDetachedUnit (Action< Agent > action)
 
void ApplyActionOnEachUnitViaBackupList (Action< Agent > action)
 
void ApplyActionOnEachUnit (Action< Agent, List< WorldPosition > > action, List< WorldPosition > list)
 
int CountUnitsOnNavMeshIDMod10 (int navMeshID, bool includeOnlyPositionedUnits)
 
void OnMassUnitTransferStart ()
 
void OnMassUnitTransferEnd ()
 
void OnBatchUnitRemovalStart ()
 
void OnBatchUnitRemovalEnd ()
 
void OnUnitAddedOrRemoved ()
 
void OnAgentLostMount (Agent agent)
 
void OnFormationDispersed ()
 
void OnUnitDetachmentChanged (Agent unit, bool isOldDetachmentLoose, bool isNewDetachmentLoose)
 
void OnUndetachableNonPlayerUnitAdded (Agent unit)
 
void OnUndetachableNonPlayerUnitRemoved (Agent unit)
 
void ReleaseFormationFromAI ()
 
void ResetMovementOrderPositionCache ()
 
void Reset ()
 
IEnumerable< FormationSplit (int count=2)
 
void TransferUnits (Formation target, int unitCount)
 
void TransferUnitsAux (Formation target, int unitCount, bool isPlayerOrder, bool useSelectivePop)
 DO NOT USE THIS METHOD More...
 
void DebugArrangements ()
 
void AddUnit (Agent unit)
 
void RemoveUnit (Agent unit)
 
void DetachUnit (Agent unit, bool isLoose)
 
void AttachUnit (Agent unit)
 
void SwitchUnitLocations (Agent firstUnit, Agent secondUnit)
 
void Tick (float dt)
 
void JoinDetachment (IDetachment detachment)
 
void FormAttackEntityDetachment (GameEntity targetEntity)
 
void LeaveDetachment (IDetachment detachment)
 
void DisbandAttackEntityDetachment ()
 
void Rearrange (IFormationArrangement arrangement)
 
void TickForColumnArrangementInitialPositioning (Formation formation)
 
float CalculateFormationDirectionEnforcingFactorForRank (int rankIndex)
 
void BeginSpawn (int unitCount, bool isMounted)
 
void EndSpawn ()
 
override int GetHashCode ()
 
bool GetIsLocalPositionAvailable (Vec2 localPosition, Vec2? nearestAvailableUnitPositionLocal)
 Checks if position is a valid point in the scene More...
 
bool BatchUnitPositions (MBList< Vec2i > orderedPositionIndices, MBList< Vec2 > orderedLocalPositions, MBList2D< int > availabilityTable, MBList2D< WorldPosition > globalPositionTable, int fileCount, int rankCount)
 
IFormationUnit GetClosestUnitTo (Vec2 localPosition, List< IFormationUnit > unitsWithSpaces=null, float? maxDistance=null)
 
IFormationUnit GetClosestUnitTo (IFormationUnit targetUnit, List< IFormationUnit > unitsWithSpaces=null, float? maxDistance=null)
 
void OnUnitAddedOrRemoved ()
 
void SetUnitToFollow (IFormationUnit unit, IFormationUnit toFollow, Vec2 vector)
 

Static Public Member Functions

static float GetLastSimulatedFormationsOccupationWidthIfLesserThanActualWidth (Formation simulationFormation)
 
static List< WorldFrameGetFormationFramesForBeforeFormationCreation (float width, int manCount, bool areMounted, WorldPosition spawnOrigin, Mat3 spawnRotation)
 
static float GetDefaultUnitDiameter (bool isMounted)
 
static float GetDefaultMinimumInterval (bool isMounted)
 
static float InfantryInterval (int unitSpacing)
 
static float CavalryInterval (int unitSpacing)
 
static float InfantryDistance (int unitSpacing)
 
static float CavalryDistance (int unitSpacing)
 
static bool IsDefenseRelatedAIDrivenComponent (DrivenProperty drivenProperty)
 

Public Attributes

readonly Team Team
 
readonly int Index
 
readonly FormationClass FormationIndex
 
Banner Banner
 
bool HasBeenPositioned = false
 
int GroupSpawnIndex = 0
 
Vec2ReferencePosition
 

Static Public Attributes

const float AveragePositionCalculatePeriod = 0.05f
 

Properties

FormationClass PrimaryClass [get]
 
int CountOfUnits [get]
 
int CountOfDetachedUnits [get]
 
int CountOfUndetachableNonPlayerUnits [get]
 
int CountOfUnitsWithoutDetachedOnes [get]
 
List< IFormationUnitUnitsWithoutLooseDetachedOnes [get]
 
int CountOfUnitsWithoutLooseDetachedOnes [get]
 
int CountOfDetachableNonplayerUnits [get]
 
Vec2 OrderPosition [get]
 
Vec3 OrderGroundPosition [get]
 
bool OrderPositionIsValid [get]
 
float Depth [get]
 
float MinimumWidth [get]
 
float UnitDiameter [get]
 Size of a single unit More...
 
Vec2 Direction [get]
 
Vec2 CurrentDirection [get]
 
Vec2 SmoothedAverageUnitPosition [get]
 
int UnitSpacing [get]
 
bool IsPlayerInFormation = false [get]
 Default formation group of the first unit added to this formation, as it is recorded in its character object for current logical formation class of the formation, use PrimaryClass More...
 
MBReadOnlyList< AgentLooseDetachedUnits [get]
 
MBReadOnlyList< AgentDetachedUnits [get]
 
AttackEntityOrderDetachment AttackEntityOrderDetachment [get]
 
FormationAI AI [get]
 
Formation TargetFormation [get, set]
 
FormationQuerySystem QuerySystem [get]
 
MBReadOnlyList< IDetachmentDetachments [get]
 
int? OverridenUnitCount [get]
 Should only used by dummy formations or when the formation is spawning for the first time More...
 
bool IsSpawning [get]
 
bool IsAITickedAfterSplit [get, set]
 
bool HasPlayer [get]
 
bool ContainsAgentVisuals [get, set]
 
FiringOrder FiringOrder [get, set]
 
Agent PlayerOwner [get, set]
 
string BannerCode [get, set]
 
bool IsSplittableByAI [get]
 
bool IsAIOwned [get]
 
bool IsConvenientForTransfer [get]
 
bool EnforceNotSplittableByAI [get]
 
bool IsAIControlled [get]
 
Vec2 OrderLocalAveragePosition [get]
 
FacingOrder FacingOrder [get, set]
 
ArrangementOrder ArrangementOrder [get, set]
 
FormOrder FormOrder [get, set]
 
RidingOrder RidingOrder [get, set]
 
WeaponUsageOrder WeaponUsageOrder [get, set]
 
bool HasAnyMountedUnit [get]
 
IEnumerable< FormationClassSecondaryClasses [get]
 
float Width [get]
 
FormationClass InitialClass [get]
 
IFormationArrangement Arrangement [get, set]
 
float MaximumInterval [get]
 
float Interval [get]
 The lateral space between units on one same line More...
 
bool CalculateHasSignificantNumberOfMounted [get]
 
float Distance [get]
 Space between units in the direction of depth More...
 
Vec2 CurrentPosition [get]
 
Agent Captain [get, set]
 
bool IsLoose [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.IFormation
float Interval [get]
 The lateral space between units on one same line More...
 
float Distance [get]
 Space between units in the direction of depth More...
 
float UnitDiameter [get]
 Size of a single unit More...
 
float MinimumInterval [get]
 
int? OverridenUnitCount [get]
 Should only used by dummy formations or when the formation is spawning for the first time More...
 

Events

Action< Formation, AgentOnUnitAdded
 
Action< Formation, AgentOnUnitRemoved
 
Action< FormationOnUnitCountChanged
 
Action< FormationOnUnitSpacingChanged
 
Action< FormationOnTick
 
Action< FormationOnWidthChanged
 
Action< Formation, MovementOrder.MovementOrderEnumOnBeforeMovementOrderApplied
 
Action< Formation, ArrangementOrder.ArrangementOrderEnumOnAfterArrangementOrderApplied
 

Constructor & Destructor Documentation

◆ Formation()

TaleWorlds.MountAndBlade.Formation.Formation ( Team  team,
int  index 
)
Parameters
team
index
isVisualOnlyIs only used by UI, no effect on game logic

Member Function Documentation

◆ CreateNewOrderWorldPosition()

WorldPosition TaleWorlds.MountAndBlade.Formation.CreateNewOrderWorldPosition ( WorldPosition.WorldPositionEnforcedCache  worldPositionEnforcedCache)
Returns

◆ SetMovementOrder()

void TaleWorlds.MountAndBlade.Formation.SetMovementOrder ( MovementOrder  input)

◆ SetControlledByAI()

void TaleWorlds.MountAndBlade.Formation.SetControlledByAI ( bool  isControlledByAI,
bool  enforceNotSplittableByAI = false 
)
Parameters
isControlledByAIDetermines if the formation will be controlled by the ai
enforceNotSplittableByAIIf set ai cannot split this formation (i.e. transfer troops from this formation to others) when deciding tactics

◆ ResetArrangementOrderTickTimer()

void TaleWorlds.MountAndBlade.Formation.ResetArrangementOrderTickTimer ( )

◆ SetPositioning()

void TaleWorlds.MountAndBlade.Formation.SetPositioning ( WorldPosition position = null,
Vec2 direction = null,
int?  unitSpacing = null 
)

◆ GetCountOfUnitsWithCondition()

int TaleWorlds.MountAndBlade.Formation.GetCountOfUnitsWithCondition ( Func< Agent, bool >  function)

◆ GetReadonlyMovementOrderReference()

ref readonly MovementOrder TaleWorlds.MountAndBlade.Formation.GetReadonlyMovementOrderReference ( )
Returns

◆ GetFirstUnit()

Agent TaleWorlds.MountAndBlade.Formation.GetFirstUnit ( )

◆ GetUnitWithIndex()

Agent TaleWorlds.MountAndBlade.Formation.GetUnitWithIndex ( int  unitIndex)

◆ GetAveragePositionOfUnits()

Vec2 TaleWorlds.MountAndBlade.Formation.GetAveragePositionOfUnits ( bool  excludeDetachedUnits,
bool  excludePlayer 
)

◆ GetMedianAgent()

Agent TaleWorlds.MountAndBlade.Formation.GetMedianAgent ( bool  excludeDetachedUnits,
bool  excludePlayer,
Vec2  averagePosition 
)

◆ GetUnderAttackTypeOfUnits()

Agent.UnderAttackType TaleWorlds.MountAndBlade.Formation.GetUnderAttackTypeOfUnits ( float  timeLimit = 3.0f)

◆ GetMovementTypeOfUnits()

Agent.MovementBehaviorType TaleWorlds.MountAndBlade.Formation.GetMovementTypeOfUnits ( )

◆ GetUnitsWithoutDetachedOnes()

IEnumerable< Agent > TaleWorlds.MountAndBlade.Formation.GetUnitsWithoutDetachedOnes ( )

◆ GetWallDirectionOfRelativeFormationLocation()

Vec2 TaleWorlds.MountAndBlade.Formation.GetWallDirectionOfRelativeFormationLocation ( Agent  unit)

◆ GetDirectionOfUnit()

Vec2 TaleWorlds.MountAndBlade.Formation.GetDirectionOfUnit ( Agent  unit)

◆ GetOrderPositionOfUnit()

WorldPosition TaleWorlds.MountAndBlade.Formation.GetOrderPositionOfUnit ( Agent  unit)

◆ GetCurrentGlobalPositionOfUnit()

Vec2 TaleWorlds.MountAndBlade.Formation.GetCurrentGlobalPositionOfUnit ( Agent  unit,
bool  blendWithOrderDirection 
)

◆ GetAverageMaximumMovementSpeedOfUnits()

float TaleWorlds.MountAndBlade.Formation.GetAverageMaximumMovementSpeedOfUnits ( )

◆ GetMovementSpeedOfUnits()

float TaleWorlds.MountAndBlade.Formation.GetMovementSpeedOfUnits ( )

◆ GetFormationPower()

float TaleWorlds.MountAndBlade.Formation.GetFormationPower ( )

◆ GetFormationMeleeFightingPower()

float TaleWorlds.MountAndBlade.Formation.GetFormationMeleeFightingPower ( )

◆ GetDetachmentOrDefault()

IDetachment TaleWorlds.MountAndBlade.Formation.GetDetachmentOrDefault ( Agent  agent)

◆ GetDetachmentFrame()

WorldFrame? TaleWorlds.MountAndBlade.Formation.GetDetachmentFrame ( Agent  agent)

◆ GetMiddleFrontUnitPositionOffset()

Vec2 TaleWorlds.MountAndBlade.Formation.GetMiddleFrontUnitPositionOffset ( )

◆ GetUnitsToPopWithReferencePosition()

List< IFormationUnit > TaleWorlds.MountAndBlade.Formation.GetUnitsToPopWithReferencePosition ( int  count,
Vec3  targetPosition 
)

◆ GetUnitsToPop()

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

◆ GetUnavailableUnitPositionsAccordingToNewOrder()

IEnumerable< ValueTuple< WorldPosition, Vec2 > > TaleWorlds.MountAndBlade.Formation.GetUnavailableUnitPositionsAccordingToNewOrder ( Formation  simulationFormation,
in WorldPosition  position,
in Vec2  direction,
float  width,
int  unitSpacing 
)

◆ GetUnitSpawnFrameWithIndex()

void TaleWorlds.MountAndBlade.Formation.GetUnitSpawnFrameWithIndex ( int  unitIndex,
in WorldPosition  formationPosition,
in Vec2  formationDirection,
float  width,
int  unitCount,
int  unitSpacing,
bool  isMountedFormation,
out WorldPosition unitSpawnPosition,
out Vec2 unitSpawnDirection 
)

◆ GetUnitPositionWithIndexAccordingToNewOrder() [1/3]

void TaleWorlds.MountAndBlade.Formation.GetUnitPositionWithIndexAccordingToNewOrder ( Formation  simulationFormation,
int  unitIndex,
in WorldPosition  formationPosition,
in Vec2  formationDirection,
float  width,
int  unitSpacing,
out WorldPosition unitSpawnPosition,
out Vec2 unitSpawnDirection 
)

◆ GetUnitPositionWithIndexAccordingToNewOrder() [2/3]

void TaleWorlds.MountAndBlade.Formation.GetUnitPositionWithIndexAccordingToNewOrder ( Formation  simulationFormation,
int  unitIndex,
in WorldPosition  formationPosition,
in Vec2  formationDirection,
float  width,
int  unitSpacing,
int  overridenUnitCount,
out WorldPosition unitPosition,
out Vec2 unitDirection 
)

◆ GetUnitPositionWithIndexAccordingToNewOrder() [3/3]

void TaleWorlds.MountAndBlade.Formation.GetUnitPositionWithIndexAccordingToNewOrder ( Formation  simulationFormation,
int  unitIndex,
in WorldPosition  formationPosition,
in Vec2  formationDirection,
float  width,
int  unitSpacing,
out WorldPosition unitSpawnPosition,
out Vec2 unitSpawnDirection,
out float  actualWidth 
)

◆ HasUnitsWithCondition() [1/2]

bool TaleWorlds.MountAndBlade.Formation.HasUnitsWithCondition ( Func< Agent, bool >  function)

◆ HasUnitsWithCondition() [2/2]

bool TaleWorlds.MountAndBlade.Formation.HasUnitsWithCondition ( Func< Agent, bool >  function,
out Agent  result 
)

◆ HasUnitWithConditionLimitedRandom()

bool TaleWorlds.MountAndBlade.Formation.HasUnitWithConditionLimitedRandom ( Func< Agent, bool >  function,
int  startingIndex,
int  willBeCheckedUnitCount,
out Agent  resultAgent 
)
Parameters
function
willBeCheckedUnitCount
Returns

◆ CollectUnitIndices()

int[] TaleWorlds.MountAndBlade.Formation.CollectUnitIndices ( )

◆ ApplyActionOnEachUnit() [1/2]

void TaleWorlds.MountAndBlade.Formation.ApplyActionOnEachUnit ( Action< Agent action)

◆ ApplyActionOnEachAttachedUnit()

void TaleWorlds.MountAndBlade.Formation.ApplyActionOnEachAttachedUnit ( Action< Agent action)

◆ ApplyActionOnEachDetachedUnit()

void TaleWorlds.MountAndBlade.Formation.ApplyActionOnEachDetachedUnit ( Action< Agent action)

◆ ApplyActionOnEachUnitViaBackupList()

void TaleWorlds.MountAndBlade.Formation.ApplyActionOnEachUnitViaBackupList ( Action< Agent action)

◆ ApplyActionOnEachUnit() [2/2]

void TaleWorlds.MountAndBlade.Formation.ApplyActionOnEachUnit ( Action< Agent, List< WorldPosition > >  action,
List< WorldPosition list 
)

◆ CountUnitsOnNavMeshIDMod10()

int TaleWorlds.MountAndBlade.Formation.CountUnitsOnNavMeshIDMod10 ( int  navMeshID,
bool  includeOnlyPositionedUnits 
)

◆ OnMassUnitTransferStart()

void TaleWorlds.MountAndBlade.Formation.OnMassUnitTransferStart ( )

◆ OnMassUnitTransferEnd()

void TaleWorlds.MountAndBlade.Formation.OnMassUnitTransferEnd ( )

◆ OnBatchUnitRemovalStart()

void TaleWorlds.MountAndBlade.Formation.OnBatchUnitRemovalStart ( )

◆ OnBatchUnitRemovalEnd()

void TaleWorlds.MountAndBlade.Formation.OnBatchUnitRemovalEnd ( )

◆ OnUnitAddedOrRemoved()

void TaleWorlds.MountAndBlade.Formation.OnUnitAddedOrRemoved ( )

◆ OnAgentLostMount()

void TaleWorlds.MountAndBlade.Formation.OnAgentLostMount ( Agent  agent)

◆ OnFormationDispersed()

void TaleWorlds.MountAndBlade.Formation.OnFormationDispersed ( )

◆ OnUnitDetachmentChanged()

void TaleWorlds.MountAndBlade.Formation.OnUnitDetachmentChanged ( Agent  unit,
bool  isOldDetachmentLoose,
bool  isNewDetachmentLoose 
)

◆ OnUndetachableNonPlayerUnitAdded()

void TaleWorlds.MountAndBlade.Formation.OnUndetachableNonPlayerUnitAdded ( Agent  unit)

◆ OnUndetachableNonPlayerUnitRemoved()

void TaleWorlds.MountAndBlade.Formation.OnUndetachableNonPlayerUnitRemoved ( Agent  unit)

◆ ReleaseFormationFromAI()

void TaleWorlds.MountAndBlade.Formation.ReleaseFormationFromAI ( )

◆ ResetMovementOrderPositionCache()

void TaleWorlds.MountAndBlade.Formation.ResetMovementOrderPositionCache ( )

◆ Reset()

void TaleWorlds.MountAndBlade.Formation.Reset ( )

◆ Split()

IEnumerable< Formation > TaleWorlds.MountAndBlade.Formation.Split ( int  count = 2)

◆ TransferUnits()

void TaleWorlds.MountAndBlade.Formation.TransferUnits ( Formation  target,
int  unitCount 
)

◆ TransferUnitsAux()

void TaleWorlds.MountAndBlade.Formation.TransferUnitsAux ( Formation  target,
int  unitCount,
bool  isPlayerOrder,
bool  useSelectivePop 
)
Parameters
target
unitCount

◆ DebugArrangements()

void TaleWorlds.MountAndBlade.Formation.DebugArrangements ( )

◆ AddUnit()

void TaleWorlds.MountAndBlade.Formation.AddUnit ( Agent  unit)

◆ RemoveUnit()

void TaleWorlds.MountAndBlade.Formation.RemoveUnit ( Agent  unit)

◆ DetachUnit()

void TaleWorlds.MountAndBlade.Formation.DetachUnit ( Agent  unit,
bool  isLoose 
)

◆ AttachUnit()

void TaleWorlds.MountAndBlade.Formation.AttachUnit ( Agent  unit)

◆ SwitchUnitLocations()

void TaleWorlds.MountAndBlade.Formation.SwitchUnitLocations ( Agent  firstUnit,
Agent  secondUnit 
)

◆ Tick()

void TaleWorlds.MountAndBlade.Formation.Tick ( float  dt)

◆ JoinDetachment()

void TaleWorlds.MountAndBlade.Formation.JoinDetachment ( IDetachment  detachment)

◆ FormAttackEntityDetachment()

void TaleWorlds.MountAndBlade.Formation.FormAttackEntityDetachment ( GameEntity  targetEntity)

◆ LeaveDetachment()

void TaleWorlds.MountAndBlade.Formation.LeaveDetachment ( IDetachment  detachment)

◆ DisbandAttackEntityDetachment()

void TaleWorlds.MountAndBlade.Formation.DisbandAttackEntityDetachment ( )

◆ Rearrange()

void TaleWorlds.MountAndBlade.Formation.Rearrange ( IFormationArrangement  arrangement)

◆ TickForColumnArrangementInitialPositioning()

void TaleWorlds.MountAndBlade.Formation.TickForColumnArrangementInitialPositioning ( Formation  formation)

◆ CalculateFormationDirectionEnforcingFactorForRank()

float TaleWorlds.MountAndBlade.Formation.CalculateFormationDirectionEnforcingFactorForRank ( int  rankIndex)

◆ BeginSpawn()

void TaleWorlds.MountAndBlade.Formation.BeginSpawn ( int  unitCount,
bool  isMounted 
)

◆ EndSpawn()

void TaleWorlds.MountAndBlade.Formation.EndSpawn ( )

◆ GetLastSimulatedFormationsOccupationWidthIfLesserThanActualWidth()

static float TaleWorlds.MountAndBlade.Formation.GetLastSimulatedFormationsOccupationWidthIfLesserThanActualWidth ( Formation  simulationFormation)
static

◆ GetFormationFramesForBeforeFormationCreation()

static List< WorldFrame > TaleWorlds.MountAndBlade.Formation.GetFormationFramesForBeforeFormationCreation ( float  width,
int  manCount,
bool  areMounted,
WorldPosition  spawnOrigin,
Mat3  spawnRotation 
)
static

◆ GetDefaultUnitDiameter()

static float TaleWorlds.MountAndBlade.Formation.GetDefaultUnitDiameter ( bool  isMounted)
static

◆ GetDefaultMinimumInterval()

static float TaleWorlds.MountAndBlade.Formation.GetDefaultMinimumInterval ( bool  isMounted)
static

◆ InfantryInterval()

static float TaleWorlds.MountAndBlade.Formation.InfantryInterval ( int  unitSpacing)
static

◆ CavalryInterval()

static float TaleWorlds.MountAndBlade.Formation.CavalryInterval ( int  unitSpacing)
static

◆ InfantryDistance()

static float TaleWorlds.MountAndBlade.Formation.InfantryDistance ( int  unitSpacing)
static

◆ CavalryDistance()

static float TaleWorlds.MountAndBlade.Formation.CavalryDistance ( int  unitSpacing)
static

◆ IsDefenseRelatedAIDrivenComponent()

static bool TaleWorlds.MountAndBlade.Formation.IsDefenseRelatedAIDrivenComponent ( DrivenProperty  drivenProperty)
static

◆ GetHashCode()

override int TaleWorlds.MountAndBlade.Formation.GetHashCode ( )

Member Data Documentation

◆ AveragePositionCalculatePeriod

const float TaleWorlds.MountAndBlade.Formation.AveragePositionCalculatePeriod = 0.05f
static

◆ Team

readonly Team TaleWorlds.MountAndBlade.Formation.Team

◆ Index

readonly int TaleWorlds.MountAndBlade.Formation.Index

◆ FormationIndex

readonly FormationClass TaleWorlds.MountAndBlade.Formation.FormationIndex

◆ Banner

Banner TaleWorlds.MountAndBlade.Formation.Banner

◆ HasBeenPositioned

bool TaleWorlds.MountAndBlade.Formation.HasBeenPositioned = false

◆ GroupSpawnIndex

int TaleWorlds.MountAndBlade.Formation.GroupSpawnIndex = 0

◆ ReferencePosition

Vec2? TaleWorlds.MountAndBlade.Formation.ReferencePosition

Property Documentation

◆ PrimaryClass

FormationClass TaleWorlds.MountAndBlade.Formation.PrimaryClass
get

◆ CountOfUnits

int TaleWorlds.MountAndBlade.Formation.CountOfUnits
get

◆ CountOfDetachedUnits

int TaleWorlds.MountAndBlade.Formation.CountOfDetachedUnits
get

◆ CountOfUndetachableNonPlayerUnits

int TaleWorlds.MountAndBlade.Formation.CountOfUndetachableNonPlayerUnits
get

◆ CountOfUnitsWithoutDetachedOnes

int TaleWorlds.MountAndBlade.Formation.CountOfUnitsWithoutDetachedOnes
get

◆ UnitsWithoutLooseDetachedOnes

List<IFormationUnit> TaleWorlds.MountAndBlade.Formation.UnitsWithoutLooseDetachedOnes
get

◆ CountOfUnitsWithoutLooseDetachedOnes

int TaleWorlds.MountAndBlade.Formation.CountOfUnitsWithoutLooseDetachedOnes
get

◆ CountOfDetachableNonplayerUnits

int TaleWorlds.MountAndBlade.Formation.CountOfDetachableNonplayerUnits
get

◆ OrderPosition

Vec2 TaleWorlds.MountAndBlade.Formation.OrderPosition
get

◆ OrderGroundPosition

Vec3 TaleWorlds.MountAndBlade.Formation.OrderGroundPosition
get

◆ OrderPositionIsValid

bool TaleWorlds.MountAndBlade.Formation.OrderPositionIsValid
get

◆ Depth

float TaleWorlds.MountAndBlade.Formation.Depth
get

◆ MinimumWidth

float TaleWorlds.MountAndBlade.Formation.MinimumWidth
get

◆ UnitDiameter

float TaleWorlds.MountAndBlade.Formation.UnitDiameter
get

◆ Direction

Vec2 TaleWorlds.MountAndBlade.Formation.Direction
get

◆ CurrentDirection

Vec2 TaleWorlds.MountAndBlade.Formation.CurrentDirection
get

◆ SmoothedAverageUnitPosition

Vec2 TaleWorlds.MountAndBlade.Formation.SmoothedAverageUnitPosition
get

◆ UnitSpacing

int TaleWorlds.MountAndBlade.Formation.UnitSpacing
get

◆ IsPlayerInFormation

bool TaleWorlds.MountAndBlade.Formation.IsPlayerInFormation = false
get

◆ LooseDetachedUnits

MBReadOnlyList<Agent> TaleWorlds.MountAndBlade.Formation.LooseDetachedUnits
get

◆ DetachedUnits

MBReadOnlyList<Agent> TaleWorlds.MountAndBlade.Formation.DetachedUnits
get

◆ AttackEntityOrderDetachment

AttackEntityOrderDetachment TaleWorlds.MountAndBlade.Formation.AttackEntityOrderDetachment
get

◆ AI

FormationAI TaleWorlds.MountAndBlade.Formation.AI
get

◆ TargetFormation

Formation TaleWorlds.MountAndBlade.Formation.TargetFormation
getset

◆ QuerySystem

FormationQuerySystem TaleWorlds.MountAndBlade.Formation.QuerySystem
get

◆ Detachments

MBReadOnlyList<IDetachment> TaleWorlds.MountAndBlade.Formation.Detachments
get

◆ OverridenUnitCount

int? TaleWorlds.MountAndBlade.Formation.OverridenUnitCount
get

◆ IsSpawning

bool TaleWorlds.MountAndBlade.Formation.IsSpawning
get

◆ IsAITickedAfterSplit

bool TaleWorlds.MountAndBlade.Formation.IsAITickedAfterSplit
getset

◆ HasPlayer

bool TaleWorlds.MountAndBlade.Formation.HasPlayer
get

◆ ContainsAgentVisuals

bool TaleWorlds.MountAndBlade.Formation.ContainsAgentVisuals
getset

◆ FiringOrder

FiringOrder TaleWorlds.MountAndBlade.Formation.FiringOrder
getset

◆ PlayerOwner

Agent TaleWorlds.MountAndBlade.Formation.PlayerOwner
getset

◆ BannerCode

string TaleWorlds.MountAndBlade.Formation.BannerCode
getset

◆ IsSplittableByAI

bool TaleWorlds.MountAndBlade.Formation.IsSplittableByAI
get

◆ IsAIOwned

bool TaleWorlds.MountAndBlade.Formation.IsAIOwned
get

◆ IsConvenientForTransfer

bool TaleWorlds.MountAndBlade.Formation.IsConvenientForTransfer
get

◆ EnforceNotSplittableByAI

bool TaleWorlds.MountAndBlade.Formation.EnforceNotSplittableByAI
get

◆ IsAIControlled

bool TaleWorlds.MountAndBlade.Formation.IsAIControlled
get

◆ OrderLocalAveragePosition

Vec2 TaleWorlds.MountAndBlade.Formation.OrderLocalAveragePosition
get

◆ FacingOrder

FacingOrder TaleWorlds.MountAndBlade.Formation.FacingOrder
getset

◆ ArrangementOrder

ArrangementOrder TaleWorlds.MountAndBlade.Formation.ArrangementOrder
getset

◆ FormOrder

FormOrder TaleWorlds.MountAndBlade.Formation.FormOrder
getset

◆ RidingOrder

RidingOrder TaleWorlds.MountAndBlade.Formation.RidingOrder
getset

◆ WeaponUsageOrder

WeaponUsageOrder TaleWorlds.MountAndBlade.Formation.WeaponUsageOrder
getset

◆ HasAnyMountedUnit

bool TaleWorlds.MountAndBlade.Formation.HasAnyMountedUnit
get

◆ SecondaryClasses

IEnumerable<FormationClass> TaleWorlds.MountAndBlade.Formation.SecondaryClasses
get

◆ Width

float TaleWorlds.MountAndBlade.Formation.Width
get

◆ InitialClass

FormationClass TaleWorlds.MountAndBlade.Formation.InitialClass
get

◆ Arrangement

IFormationArrangement TaleWorlds.MountAndBlade.Formation.Arrangement
getset

◆ MaximumInterval

float TaleWorlds.MountAndBlade.Formation.MaximumInterval
get

◆ Interval

float TaleWorlds.MountAndBlade.Formation.Interval
get

◆ CalculateHasSignificantNumberOfMounted

bool TaleWorlds.MountAndBlade.Formation.CalculateHasSignificantNumberOfMounted
get

◆ Distance

float TaleWorlds.MountAndBlade.Formation.Distance
get

◆ CurrentPosition

Vec2 TaleWorlds.MountAndBlade.Formation.CurrentPosition
get

◆ Captain

Agent TaleWorlds.MountAndBlade.Formation.Captain
getset

◆ IsLoose

bool TaleWorlds.MountAndBlade.Formation.IsLoose
get

Event Documentation

◆ OnUnitAdded

Action<Formation,Agent> TaleWorlds.MountAndBlade.Formation.OnUnitAdded

◆ OnUnitRemoved

Action<Formation,Agent> TaleWorlds.MountAndBlade.Formation.OnUnitRemoved

◆ OnUnitCountChanged

Action<Formation> TaleWorlds.MountAndBlade.Formation.OnUnitCountChanged

◆ OnUnitSpacingChanged

Action<Formation> TaleWorlds.MountAndBlade.Formation.OnUnitSpacingChanged

◆ OnTick

Action<Formation> TaleWorlds.MountAndBlade.Formation.OnTick

◆ OnWidthChanged

Action<Formation> TaleWorlds.MountAndBlade.Formation.OnWidthChanged

◆ OnBeforeMovementOrderApplied

Action<Formation, MovementOrder.MovementOrderEnum> TaleWorlds.MountAndBlade.Formation.OnBeforeMovementOrderApplied

◆ OnAfterArrangementOrderApplied

Action<Formation, ArrangementOrder.ArrangementOrderEnum> TaleWorlds.MountAndBlade.Formation.OnAfterArrangementOrderApplied