Table of Contents

Class Formation

Namespace
TaleWorlds.MountAndBlade
Assembly
TaleWorlds.MountAndBlade.dll
public sealed class Formation : IFormation
Inheritance
Formation
Implements
Inherited Members
Extension Methods

Constructors

Formation(Team, int)

public Formation(Team team, int index)

Parameters

team Team
index int

Fields

AveragePositionCalculatePeriod

public const float AveragePositionCalculatePeriod = 0.05

Field Value

float

Banner

public Banner Banner

Field Value

Banner

FormationIndex

public readonly FormationClass FormationIndex

Field Value

FormationClass

HasBeenPositioned

public bool HasBeenPositioned

Field Value

bool

Index

public readonly int Index

Field Value

int

MaximumUnitSpacing

public const int MaximumUnitSpacing = 2

Field Value

int

MinimumUnitSpacing

public const int MinimumUnitSpacing = 0

Field Value

int

ReferencePosition

public Vec2? ReferencePosition

Field Value

Vec2?

RetreatPositionCacheUseDistanceSquared

public const float RetreatPositionCacheUseDistanceSquared = 400

Field Value

float

RetreatPositionDistanceCacheCount

public const int RetreatPositionDistanceCacheCount = 2

Field Value

int

Team

public readonly Team Team

Field Value

Team

Properties

AI

public FormationAI AI { get; }

Property Value

FormationAI

Arrangement

public IFormationArrangement Arrangement { get; set; }

Property Value

IFormationArrangement

ArrangementOrder

public ArrangementOrder ArrangementOrder { get; set; }

Property Value

ArrangementOrder

AttackEntityOrderDetachment

public AttackEntityOrderDetachment AttackEntityOrderDetachment { get; }

Property Value

AttackEntityOrderDetachment

BannerCode

public string BannerCode { get; set; }

Property Value

string

CalculateHasSignificantNumberOfMounted

public bool CalculateHasSignificantNumberOfMounted { get; }

Property Value

bool

Captain

public Agent Captain { get; set; }

Property Value

Agent

ContainsAgentVisuals

public bool ContainsAgentVisuals { get; set; }

Property Value

bool

CountOfDetachableNonplayerUnits

public int CountOfDetachableNonplayerUnits { get; }

Property Value

int

CountOfDetachedUnits

public int CountOfDetachedUnits { get; }

Property Value

int

CountOfUndetachableNonPlayerUnits

public int CountOfUndetachableNonPlayerUnits { get; }

Property Value

int

CountOfUnits

public int CountOfUnits { get; }

Property Value

int

CountOfUnitsWithoutDetachedOnes

public int CountOfUnitsWithoutDetachedOnes { get; }

Property Value

int

CountOfUnitsWithoutLooseDetachedOnes

public int CountOfUnitsWithoutLooseDetachedOnes { get; }

Property Value

int

CurrentDirection

public Vec2 CurrentDirection { get; }

Property Value

Vec2

CurrentPosition

public Vec2 CurrentPosition { get; }

Property Value

Vec2

Depth

public float Depth { get; }

Property Value

float

DetachedUnits

public MBReadOnlyList<Agent> DetachedUnits { get; }

Property Value

MBReadOnlyList<Agent>

Detachments

public MBReadOnlyList<IDetachment> Detachments { get; }

Property Value

MBReadOnlyList<IDetachment>

Direction

public Vec2 Direction { get; }

Property Value

Vec2

Distance

public float Distance { get; }

Property Value

float

EnforceNotSplittableByAI

public bool EnforceNotSplittableByAI { get; }

Property Value

bool

FacingOrder

public FacingOrder FacingOrder { get; set; }

Property Value

FacingOrder

FiringOrder

public FiringOrder FiringOrder { get; set; }

Property Value

FiringOrder

FormOrder

public FormOrder FormOrder { get; set; }

Property Value

FormOrder

HasAnyMountedUnit

public bool HasAnyMountedUnit { get; }

Property Value

bool

HasPlayerControlledTroop

public bool HasPlayerControlledTroop { get; }

Property Value

bool

Interval

public float Interval { get; }

Property Value

float

IsAIControlled

public bool IsAIControlled { get; }

Property Value

bool

IsAIOwned

public bool IsAIOwned { get; }

Property Value

bool

IsAITickedAfterSplit

public bool IsAITickedAfterSplit { get; set; }

Property Value

bool

IsConvenientForTransfer

public bool IsConvenientForTransfer { get; }

Property Value

bool

IsDeployment

public bool IsDeployment { get; }

Property Value

bool

IsLoose

public bool IsLoose { get; }

Property Value

bool

IsPlayerTroopInFormation

public bool IsPlayerTroopInFormation { get; }

Property Value

bool

IsSpawning

public bool IsSpawning { get; }

Property Value

bool

IsSplittableByAI

public bool IsSplittableByAI { get; }

Property Value

bool

LogicalClass

public FormationClass LogicalClass { get; }

Property Value

FormationClass

LooseDetachedUnits

public MBReadOnlyList<Agent> LooseDetachedUnits { get; }

Property Value

MBReadOnlyList<Agent>

MaximumDistance

public float MaximumDistance { get; }

Property Value

float

MaximumInterval

public float MaximumInterval { get; }

Property Value

float

MaximumWidth

public float MaximumWidth { get; }

Property Value

float

MinimumDistance

public float MinimumDistance { get; }

Property Value

float

MinimumInterval

public float MinimumInterval { get; }

Property Value

float

MinimumWidth

public float MinimumWidth { get; }

Property Value

float

OrderGroundPosition

public Vec3 OrderGroundPosition { get; }

Property Value

Vec3

OrderLocalAveragePosition

public Vec2 OrderLocalAveragePosition { get; }

Property Value

Vec2

OrderPosition

public Vec2 OrderPosition { get; }

Property Value

Vec2

OrderPositionIsValid

public bool OrderPositionIsValid { get; }

Property Value

bool

OverridenUnitCount

public int? OverridenUnitCount { get; }

Property Value

int?

PhysicalClass

public FormationClass PhysicalClass { get; }

Property Value

FormationClass

PlayerOwner

public Agent PlayerOwner { get; set; }

Property Value

Agent

QuerySystem

public FormationQuerySystem QuerySystem { get; }

Property Value

FormationQuerySystem

RepresentativeClass

public FormationClass RepresentativeClass { get; }

Property Value

FormationClass

RetreatPositionCache

public Formation.RetreatPositionCacheSystem RetreatPositionCache { get; }

Property Value

Formation.RetreatPositionCacheSystem

RidingOrder

public RidingOrder RidingOrder { get; set; }

Property Value

RidingOrder

SecondaryLogicalClasses

public IEnumerable<FormationClass> SecondaryLogicalClasses { get; }

Property Value

IEnumerable<FormationClass>

SecondaryPhysicalClasses

public IEnumerable<FormationClass> SecondaryPhysicalClasses { get; }

Property Value

IEnumerable<FormationClass>

SmoothedAverageUnitPosition

public Vec2 SmoothedAverageUnitPosition { get; }

Property Value

Vec2

TargetFormation

public Formation TargetFormation { get; }

Property Value

Formation

UnitDiameter

public float UnitDiameter { get; }

Property Value

float

UnitSpacing

public int UnitSpacing { get; }

Property Value

int

UnitsWithoutLooseDetachedOnes

public MBReadOnlyList<IFormationUnit> UnitsWithoutLooseDetachedOnes { get; }

Property Value

MBReadOnlyList<IFormationUnit>

Width

public float Width { get; }

Property Value

float

Methods

AddUnit(Agent)

public void AddUnit(Agent unit)

Parameters

unit Agent

ApplyActionOnEachAttachedUnit(Action<Agent>)

public void ApplyActionOnEachAttachedUnit(Action<Agent> action)

Parameters

action Action<Agent>

ApplyActionOnEachDetachedUnit(Action<Agent>)

public void ApplyActionOnEachDetachedUnit(Action<Agent> action)

Parameters

action Action<Agent>

ApplyActionOnEachUnit(Action<Agent, List<WorldPosition>>, List<WorldPosition>)

public void ApplyActionOnEachUnit(Action<Agent, List<WorldPosition>> action, List<WorldPosition> list)

Parameters

action Action<Agent, List<WorldPosition>>
list List<WorldPosition>

ApplyActionOnEachUnit(Action<Agent>, Agent)

public void ApplyActionOnEachUnit(Action<Agent> action, Agent ignoreAgent = null)

Parameters

action Action<Agent>
ignoreAgent Agent

ApplyActionOnEachUnitViaBackupList(Action<Agent>)

public void ApplyActionOnEachUnitViaBackupList(Action<Agent> action)

Parameters

action Action<Agent>

AttachUnit(Agent)

public void AttachUnit(Agent unit)

Parameters

unit Agent

BeginSpawn(int, bool)

public void BeginSpawn(int unitCount, bool isMounted)

Parameters

unitCount int
isMounted bool

CalculateFormationDirectionEnforcingFactorForRank(int)

public float CalculateFormationDirectionEnforcingFactorForRank(int rankIndex)

Parameters

rankIndex int

Returns

float

CavalryDistance(int)

public static float CavalryDistance(int unitSpacing)

Parameters

unitSpacing int

Returns

float

CavalryInterval(int)

public static float CavalryInterval(int unitSpacing)

Parameters

unitSpacing int

Returns

float

CollectUnitIndices()

public int[] CollectUnitIndices()

Returns

int[]

CountUnitsOnNavMeshIDMod10(int, bool)

public int CountUnitsOnNavMeshIDMod10(int navMeshID, bool includeOnlyPositionedUnits)

Parameters

navMeshID int
includeOnlyPositionedUnits bool

Returns

int

CreateNewOrderWorldPosition(WorldPositionEnforcedCache)

public WorldPosition CreateNewOrderWorldPosition(WorldPosition.WorldPositionEnforcedCache worldPositionEnforcedCache)

Parameters

worldPositionEnforcedCache WorldPosition.WorldPositionEnforcedCache

Returns

WorldPosition

DebugArrangements()

[Conditional("DEBUG")]
public void DebugArrangements()

DetachUnit(Agent, bool)

public void DetachUnit(Agent unit, bool isLoose)

Parameters

unit Agent
isLoose bool

DisbandAttackEntityDetachment()

public void DisbandAttackEntityDetachment()

EndSpawn()

public void EndSpawn()

~Formation()

protected ~Formation()

FormAttackEntityDetachment(GameEntity)

public void FormAttackEntityDetachment(GameEntity targetEntity)

Parameters

targetEntity GameEntity

GetAverageMaximumMovementSpeedOfUnits()

public float GetAverageMaximumMovementSpeedOfUnits()

Returns

float

GetAveragePositionOfUnits(bool, bool)

public Vec2 GetAveragePositionOfUnits(bool excludeDetachedUnits, bool excludePlayer)

Parameters

excludeDetachedUnits bool
excludePlayer bool

Returns

Vec2

GetCountOfUnitsBelongingToLogicalClass(FormationClass)

public int GetCountOfUnitsBelongingToLogicalClass(FormationClass logicalClass)

Parameters

logicalClass FormationClass

Returns

int

GetCountOfUnitsBelongingToPhysicalClass(FormationClass, bool)

public int GetCountOfUnitsBelongingToPhysicalClass(FormationClass physicalClass, bool excludeBannerBearers)

Parameters

physicalClass FormationClass
excludeBannerBearers bool

Returns

int

GetCountOfUnitsWithCondition(Func<Agent, bool>)

public int GetCountOfUnitsWithCondition(Func<Agent, bool> function)

Parameters

function Func<Agent, bool>

Returns

int

GetCurrentGlobalPositionOfUnit(Agent, bool)

public Vec2 GetCurrentGlobalPositionOfUnit(Agent unit, bool blendWithOrderDirection)

Parameters

unit Agent
blendWithOrderDirection bool

Returns

Vec2

GetDefaultMaximumDistance(bool)

public static float GetDefaultMaximumDistance(bool isMounted)

Parameters

isMounted bool

Returns

float

GetDefaultMaximumInterval(bool)

public static float GetDefaultMaximumInterval(bool isMounted)

Parameters

isMounted bool

Returns

float

GetDefaultMinimumDistance(bool)

public static float GetDefaultMinimumDistance(bool isMounted)

Parameters

isMounted bool

Returns

float

GetDefaultMinimumInterval(bool)

public static float GetDefaultMinimumInterval(bool isMounted)

Parameters

isMounted bool

Returns

float

GetDefaultUnitDiameter(bool)

public static float GetDefaultUnitDiameter(bool isMounted)

Parameters

isMounted bool

Returns

float

GetDetachmentFrame(Agent)

public WorldFrame? GetDetachmentFrame(Agent agent)

Parameters

agent Agent

Returns

WorldFrame?

GetDetachmentOrDefault(Agent)

public IDetachment GetDetachmentOrDefault(Agent agent)

Parameters

agent Agent

Returns

IDetachment

GetDirectionOfUnit(Agent)

public Vec2 GetDirectionOfUnit(Agent unit)

Parameters

unit Agent

Returns

Vec2

GetFirstUnit()

public Agent GetFirstUnit()

Returns

Agent

GetFormationFramesForBeforeFormationCreation(float, int, bool, WorldPosition, Mat3)

public static List<WorldFrame> GetFormationFramesForBeforeFormationCreation(float width, int manCount, bool areMounted, WorldPosition spawnOrigin, Mat3 spawnRotation)

Parameters

width float
manCount int
areMounted bool
spawnOrigin WorldPosition
spawnRotation Mat3

Returns

List<WorldFrame>

GetFormationMeleeFightingPower()

public float GetFormationMeleeFightingPower()

Returns

float

GetFormationPower()

public float GetFormationPower()

Returns

float

GetHashCode()

public override int GetHashCode()

Returns

int

GetLastSimulatedFormationsOccupationWidthIfLesserThanActualWidth(Formation)

public static float GetLastSimulatedFormationsOccupationWidthIfLesserThanActualWidth(Formation simulationFormation)

Parameters

simulationFormation Formation

Returns

float

GetMedianAgent(bool, bool, Vec2)

public Agent GetMedianAgent(bool excludeDetachedUnits, bool excludePlayer, Vec2 averagePosition)

Parameters

excludeDetachedUnits bool
excludePlayer bool
averagePosition Vec2

Returns

Agent

GetMiddleFrontUnitPositionOffset()

public Vec2 GetMiddleFrontUnitPositionOffset()

Returns

Vec2

GetMovementSpeedOfUnits()

public float GetMovementSpeedOfUnits()

Returns

float

GetMovementTypeOfUnits()

public Agent.MovementBehaviorType GetMovementTypeOfUnits()

Returns

Agent.MovementBehaviorType

GetNextSpawnIndex()

public int GetNextSpawnIndex()

Returns

int

GetOrderPositionOfUnit(Agent)

public WorldPosition GetOrderPositionOfUnit(Agent unit)

Parameters

unit Agent

Returns

WorldPosition

GetReadonlyMovementOrderReference()

public ref readonly MovementOrder GetReadonlyMovementOrderReference()

Returns

MovementOrder

GetUnavailableUnitPositionsAccordingToNewOrder(Formation, in WorldPosition, in Vec2, float, int)

public IEnumerable<(WorldPosition, Vec2)> GetUnavailableUnitPositionsAccordingToNewOrder(Formation simulationFormation, in WorldPosition position, in Vec2 direction, float width, int unitSpacing)

Parameters

simulationFormation Formation
position WorldPosition
direction Vec2
width float
unitSpacing int

Returns

IEnumerable<(WorldPosition, Vec2)>

GetUnderAttackTypeOfUnits(float)

public Agent.UnderAttackType GetUnderAttackTypeOfUnits(float timeLimit = 3)

Parameters

timeLimit float

Returns

Agent.UnderAttackType

GetUnitPositionWithIndexAccordingToNewOrder(Formation, int, in WorldPosition, in Vec2, float, int, int, out WorldPosition?, out Vec2?)

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

Parameters

simulationFormation Formation
unitIndex int
formationPosition WorldPosition
formationDirection Vec2
width float
unitSpacing int
overridenUnitCount int
unitPosition WorldPosition?
unitDirection Vec2?

GetUnitPositionWithIndexAccordingToNewOrder(Formation, int, in WorldPosition, in Vec2, float, int, out WorldPosition?, out Vec2?)

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

Parameters

simulationFormation Formation
unitIndex int
formationPosition WorldPosition
formationDirection Vec2
width float
unitSpacing int
unitSpawnPosition WorldPosition?
unitSpawnDirection Vec2?

GetUnitPositionWithIndexAccordingToNewOrder(Formation, int, in WorldPosition, in Vec2, float, int, out WorldPosition?, out Vec2?, out float)

public 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)

Parameters

simulationFormation Formation
unitIndex int
formationPosition WorldPosition
formationDirection Vec2
width float
unitSpacing int
unitSpawnPosition WorldPosition?
unitSpawnDirection Vec2?
actualWidth float

GetUnitSpawnFrameWithIndex(int, in WorldPosition, in Vec2, float, int, int, bool, out WorldPosition?, out Vec2?)

public void GetUnitSpawnFrameWithIndex(int unitIndex, in WorldPosition formationPosition, in Vec2 formationDirection, float width, int unitCount, int unitSpacing, bool isMountedFormation, out WorldPosition? unitSpawnPosition, out Vec2? unitSpawnDirection)

Parameters

unitIndex int
formationPosition WorldPosition
formationDirection Vec2
width float
unitCount int
unitSpacing int
isMountedFormation bool
unitSpawnPosition WorldPosition?
unitSpawnDirection Vec2?

GetUnitWithIndex(int)

public Agent GetUnitWithIndex(int unitIndex)

Parameters

unitIndex int

Returns

Agent

GetUnitsToPop(int)

public List<IFormationUnit> GetUnitsToPop(int count)

Parameters

count int

Returns

List<IFormationUnit>

GetUnitsToPopWithReferencePosition(int, Vec3)

public List<IFormationUnit> GetUnitsToPopWithReferencePosition(int count, Vec3 targetPosition)

Parameters

count int
targetPosition Vec3

Returns

List<IFormationUnit>

GetUnitsWithoutDetachedOnes()

public IEnumerable<Agent> GetUnitsWithoutDetachedOnes()

Returns

IEnumerable<Agent>

GetWallDirectionOfRelativeFormationLocation(Agent)

public Vec2 GetWallDirectionOfRelativeFormationLocation(Agent unit)

Parameters

unit Agent

Returns

Vec2

HasAnyEnemyFormationsThatIsNotEmpty()

public bool HasAnyEnemyFormationsThatIsNotEmpty()

Returns

bool

HasUnitWithConditionLimitedRandom(Func<Agent, bool>, int, int, out Agent)

public bool HasUnitWithConditionLimitedRandom(Func<Agent, bool> function, int startingIndex, int willBeCheckedUnitCount, out Agent resultAgent)

Parameters

function Func<Agent, bool>
startingIndex int
willBeCheckedUnitCount int
resultAgent Agent

Returns

bool

HasUnitsWithCondition(Func<Agent, bool>)

public bool HasUnitsWithCondition(Func<Agent, bool> function)

Parameters

function Func<Agent, bool>

Returns

bool

HasUnitsWithCondition(Func<Agent, bool>, out Agent)

public bool HasUnitsWithCondition(Func<Agent, bool> function, out Agent result)

Parameters

function Func<Agent, bool>
result Agent

Returns

bool

InfantryDistance(int)

public static float InfantryDistance(int unitSpacing)

Parameters

unitSpacing int

Returns

float

InfantryInterval(int)

public static float InfantryInterval(int unitSpacing)

Parameters

unitSpacing int

Returns

float

IsDefenseRelatedAIDrivenComponent(DrivenProperty)

public static bool IsDefenseRelatedAIDrivenComponent(DrivenProperty drivenProperty)

Parameters

drivenProperty DrivenProperty

Returns

bool

JoinDetachment(IDetachment)

public void JoinDetachment(IDetachment detachment)

Parameters

detachment IDetachment

LeaveDetachment(IDetachment)

public void LeaveDetachment(IDetachment detachment)

Parameters

detachment IDetachment

OnAgentControllerChanged(Agent, ControllerType)

public void OnAgentControllerChanged(Agent agent, Agent.ControllerType oldController)

Parameters

agent Agent
oldController Agent.ControllerType

OnAgentLostMount(Agent)

public void OnAgentLostMount(Agent agent)

Parameters

agent Agent

OnBatchUnitRemovalEnd()

public void OnBatchUnitRemovalEnd()

OnBatchUnitRemovalStart()

public void OnBatchUnitRemovalStart()

OnDeploymentFinished()

public void OnDeploymentFinished()

OnFormationDispersed()

public void OnFormationDispersed()

OnMassUnitTransferEnd()

public void OnMassUnitTransferEnd()

OnMassUnitTransferStart()

public void OnMassUnitTransferStart()

OnUndetachableNonPlayerUnitAdded(Agent)

public void OnUndetachableNonPlayerUnitAdded(Agent unit)

Parameters

unit Agent

OnUndetachableNonPlayerUnitRemoved(Agent)

public void OnUndetachableNonPlayerUnitRemoved(Agent unit)

Parameters

unit Agent

OnUnitAddedOrRemoved()

public void OnUnitAddedOrRemoved()

OnUnitDetachmentChanged(Agent, bool, bool)

public void OnUnitDetachmentChanged(Agent unit, bool isOldDetachmentLoose, bool isNewDetachmentLoose)

Parameters

unit Agent
isOldDetachmentLoose bool
isNewDetachmentLoose bool

Rearrange(IFormationArrangement)

public void Rearrange(IFormationArrangement arrangement)

Parameters

arrangement IFormationArrangement

RemoveUnit(Agent)

public void RemoveUnit(Agent unit)

Parameters

unit Agent

Reset()

public void Reset()

ResetArrangementOrderTickTimer()

public void ResetArrangementOrderTickTimer()

ResetMovementOrderPositionCache()

public void ResetMovementOrderPositionCache()

SetControlledByAI(bool, bool)

public void SetControlledByAI(bool isControlledByAI, bool enforceNotSplittableByAI = false)

Parameters

isControlledByAI bool
enforceNotSplittableByAI bool

SetMovementOrder(MovementOrder)

public void SetMovementOrder(MovementOrder input)

Parameters

input MovementOrder

SetPositioning(WorldPosition?, Vec2?, int?)

public void SetPositioning(WorldPosition? position = null, Vec2? direction = null, int? unitSpacing = null)

Parameters

position WorldPosition?
direction Vec2?
unitSpacing int?

SetSpawnIndex(int)

public void SetSpawnIndex(int value = 0)

Parameters

value int

SetTargetFormation(Formation)

public void SetTargetFormation(Formation targetFormation)

Parameters

targetFormation Formation

Split(int)

public IEnumerable<Formation> Split(int count = 2)

Parameters

count int

Returns

IEnumerable<Formation>

SwitchUnitLocations(Agent, Agent)

public void SwitchUnitLocations(Agent firstUnit, Agent secondUnit)

Parameters

firstUnit Agent
secondUnit Agent

Tick(float)

public void Tick(float dt)

Parameters

dt float

TickForColumnArrangementInitialPositioning(Formation)

public void TickForColumnArrangementInitialPositioning(Formation formation)

Parameters

formation Formation

TransferUnits(Formation, int)

public void TransferUnits(Formation target, int unitCount)

Parameters

target Formation
unitCount int

TransferUnitsAux(Formation, int, bool, bool)

public void TransferUnitsAux(Formation target, int unitCount, bool isPlayerOrder, bool useSelectivePop)

Parameters

target Formation
unitCount int
isPlayerOrder bool
useSelectivePop bool

Events

OnAfterArrangementOrderApplied

public event Action<Formation, ArrangementOrder.ArrangementOrderEnum> OnAfterArrangementOrderApplied

Event Type

Action<Formation, ArrangementOrder.ArrangementOrderEnum>

OnBeforeMovementOrderApplied

public event Action<Formation, MovementOrder.MovementOrderEnum> OnBeforeMovementOrderApplied

Event Type

Action<Formation, MovementOrder.MovementOrderEnum>

OnTick

public event Action<Formation> OnTick

Event Type

Action<Formation>

OnUnitAdded

public event Action<Formation, Agent> OnUnitAdded

Event Type

Action<Formation, Agent>

OnUnitCountChanged

public event Action<Formation> OnUnitCountChanged

Event Type

Action<Formation>

OnUnitRemoved

public event Action<Formation, Agent> OnUnitRemoved

Event Type

Action<Formation, Agent>

OnUnitSpacingChanged

public event Action<Formation> OnUnitSpacingChanged

Event Type

Action<Formation>

OnWidthChanged

public event Action<Formation> OnWidthChanged

Event Type

Action<Formation>

This page was last modified at 09/01/2024 16:12:00 +00:00 (UTC).