|
| CircularFormation (IFormation owner) |
|
override IFormationArrangement | Clone (IFormation formation) |
|
float | GetCircumferenceFromRankCount (int rankCount) |
|
void | FormFromCircumference (float circumference) |
|
Public Member Functions inherited from TaleWorlds.MountAndBlade.LineFormation |
int | GetFileCountFromWidth (float width) |
|
| LineFormation (IFormation ownerFormation, bool isStaggered=true) |
|
virtual IFormationArrangement | Clone (IFormation formation) |
|
virtual void | DeepCopyFrom (IFormationArrangement arrangement) |
|
void | Reset () |
|
bool | IsUnitPositionAvailable (int fileIndex, int rankIndex) |
| Checks if unit position is a valid point in the scene.
|
|
Vec2? | GetLocalPositionOfUnitOrDefault (int unitIndex) |
| Gets the local position of unit with index of fill order.
|
|
Vec2? | GetLocalDirectionOfUnitOrDefault (int unitIndex) |
|
WorldPosition? | GetWorldPositionOfUnitOrDefault (int unitIndex) |
|
IEnumerable< Vec2 > | GetUnavailableUnitPositions () |
|
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 () |
|
List< IFormationUnit > | GetUnitsToPop (int count) |
|
IEnumerable< IFormationUnit > | GetUnitsToPopWithCondition (int count, Func< IFormationUnit, bool > currentCondition) |
|
List< IFormationUnit > | GetUnitsToPop (int count, Vec3 targetPosition) |
|
Vec2? | GetLocalPositionOfUnitOrDefault (IFormationUnit unit) |
|
Vec2? | GetLocalPositionOfUnitOrDefaultWithAdjustment (IFormationUnit unit, float distanceBetweenAgentsAdjustment) |
|
Vec2? | GetLocalDirectionOfUnitOrDefault (IFormationUnit unit) |
|
WorldPosition? | GetWorldPositionOfUnitOrDefault (IFormationUnit unit) |
|
IFormationUnit | GetPlayerUnit () |
|
MBList< IFormationUnit > | GetAllUnits () |
|
MBList< IFormationUnit > | GetUnpositionedUnits () |
|
Vec2? | GetLocalDirectionOfRelativeFormationLocation (IFormationUnit unit) |
|
Vec2? | GetLocalWallDirectionOfRelativeFormationLocation (IFormationUnit unit) |
|
void | GetFormationInfo (out int fileCount, out int rankCount) |
|
float | GetUnitsDistanceToFrontLine (IFormationUnit unit) |
|
IFormationUnit | GetNeighborUnitOfLeftSide (IFormationUnit unit) |
|
IFormationUnit | GetNeighborUnitOfRightSide (IFormationUnit unit) |
|
void | SwitchUnitLocationsWithUnpositionedUnit (IFormationUnit firstUnit, IFormationUnit secondUnit) |
|
void | SwitchUnitLocations (IFormationUnit firstUnit, IFormationUnit secondUnit) |
|
void | SwitchUnitLocationsWithBackMostUnit (IFormationUnit unit) |
|
void | BeforeFormationFrameChange () |
|
void | BatchUnitPositionAvailabilities (bool isUpdatingCachedOrderedLocalPositions=true) |
|
void | OnFormationFrameChanged () |
| Unit position availabilities may change due to frame change. If so, this method moves units around so every unit position is available and there are no gaps in the formation.
|
|
void | OnFormationDispersed () |
|
void | OnUnitLostMount (IFormationUnit unit) |
|
bool | IsTurnBackwardsNecessary (Vec2 previousPosition, WorldPosition? newPosition, Vec2 previousDirection, bool hasNewDirection, Vec2? newDirection) |
|
void | TurnBackwards () |
|
float | GetOccupationWidth (int unitCount) |
|
void | InvalidateCacheOfUnitAux (Vec2 roundedLocalPosition) |
|
Vec2? | CreateNewPosition (int unitIndex) |
|
virtual void | RearrangeFrom (IFormationArrangement arrangement) |
|
virtual void | RearrangeTo (IFormationArrangement arrangement) |
|
virtual void | RearrangeTransferUnits (IFormationArrangement arrangement) |
|
void | FormFromFlankWidth (int unitCountOnLine, bool skipSingleFileChangesForPerformance=false) |
|
void | ReserveMiddleFrontUnitPosition (IFormationUnit vanguard) |
|
void | ReleaseMiddleFrontUnitPosition () |
|
Vec2 | GetLocalPositionOfReservedUnitPosition () |
|
virtual void | OnTickOccasionallyOfUnit (IFormationUnit unit, bool arrangementChangeAllowed) |
|
virtual float | GetDirectionChangeTendencyOfUnit (IFormationUnit unit) |
|
int | GetCachedOrderedAndAvailableUnitPositionIndicesCount () |
| Used only for getting troop positions before any formation or troops are present in multiplayer, not to be used for casual formation operations.
|
|
PositionIndexType | GetCachedOrderedAndAvailableUnitPositionIndexAt (int i) |
| Used only for getting troop positions before any formation or troops are present in multiplayer, not to be used for casual formation operations.
|
|
WorldPosition | GetGlobalPositionAtIndex (int indexX, int indexY) |
| Used only for getting troop positions before any formation or troops are present in multiplayer, not to be used for casual formation operations.
|
|
IFormationUnit | GetPlayerUnit () |
|
MBList< IFormationUnit > | GetAllUnits () |
|
MBList< IFormationUnit > | GetUnpositionedUnits () |
|
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 () |
|
Vec2? | GetLocalPositionOfUnitOrDefault (int unitIndex) |
|
Vec2? | GetLocalPositionOfUnitOrDefault (IFormationUnit unit) |
|
Vec2? | GetLocalPositionOfUnitOrDefaultWithAdjustment (IFormationUnit unit, float distanceBetweenAgentsAdjustment) |
|
Vec2? | GetLocalDirectionOfUnitOrDefault (int unitIndex) |
|
Vec2? | GetLocalDirectionOfUnitOrDefault (IFormationUnit unit) |
|
WorldPosition? | GetWorldPositionOfUnitOrDefault (int unitIndex) |
|
WorldPosition? | GetWorldPositionOfUnitOrDefault (IFormationUnit unit) |
|
List< IFormationUnit > | GetUnitsToPop (int count) |
|
List< IFormationUnit > | GetUnitsToPop (int count, Vec3 targetPosition) |
|
IEnumerable< IFormationUnit > | GetUnitsToPopWithCondition (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) |
|
Vec2? | GetLocalWallDirectionOfRelativeFormationLocation (IFormationUnit unit) |
|
IEnumerable< Vec2 > | GetUnavailableUnitPositions () |
|
float | GetOccupationWidth (int unitCount) |
|
Vec2? | CreateNewPosition (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) |
|
|
override bool | IsDeepenApplicable () |
|
override bool | IsNarrowApplicable (int amount) |
|
override bool | IsUnitPositionRestrained (int fileIndex, int rankIndex) |
|
override void | MakeRestrainedPositionsUnavailable () |
|
override Vec2 | GetLocalDirectionOfUnit (int fileIndex, int rankIndex) |
|
override Vec2 | GetLocalPositionOfUnit (int fileIndex, int rankIndex) |
|
override Vec2 | GetLocalPositionOfUnitWithAdjustment (int fileIndex, int rankIndex, float distanceBetweenAgentsAdjustment) |
|
override bool | TryGetUnitPositionIndexFromLocalPosition (Vec2 localPosition, out int fileIndex, out int rankIndex) |
|
int | GetCurrentMaximumRankCount (int unitCount) |
|
float | GetCircumferenceAux (int unitCount, int rankCount, float radialInterval, float distanceInterval) |
|
Protected Member Functions inherited from TaleWorlds.MountAndBlade.LineFormation |
int | GetUnitCountWithOverride () |
|
| LineFormation (IFormation ownerFormation, bool isDeformingOnWidthChange, bool isStaggered=true) |
|
virtual bool | IsUnitPositionRestrained (int fileIndex, int rankIndex) |
|
virtual void | MakeRestrainedPositionsUnavailable () |
|
virtual bool | TryGetUnitPositionIndexFromLocalPosition (Vec2 localPosition, out int fileIndex, out int rankIndex) |
|
virtual Vec2 | GetLocalPositionOfUnit (int fileIndex, int rankIndex) |
|
virtual Vec2 | GetLocalPositionOfUnitWithAdjustment (int fileIndex, int rankIndex, float distanceBetweenAgentsAdjustment) |
|
virtual Vec2 | GetLocalDirectionOfUnit (int fileIndex, int rankIndex) |
|
virtual bool | IsDeepenApplicable () |
|
virtual bool | IsNarrowApplicable (int amount) |
|
|
override float | Width [get, set] |
| Actual space occupied by the formation along side (x) direction, measured from left to right.
|
|
override float | Depth [get] |
| Actual space occupied by the formation along forward (y) direction, from front to back.
|
|
override float | MinimumWidth [get] |
| Minimum width of the formation. Using current unit count, minimum unit interval and minimum unit distance.
|
|
override float | MaximumWidth [get] |
| Maximum width of the formation. Using current unit count, maximum unit interval and maximum unit distance.
|
|
Properties inherited from TaleWorlds.MountAndBlade.LineFormation |
int | FileCount [get] |
|
int | RankCount [get] |
|
bool | AreLocalPositionsDirty [protected get, set] |
|
float | Interval [get] |
| The lateral space between units on one same line.
|
|
float | Distance [get] |
| Space between units in the direction of depth.
|
|
float | UnitDiameter [get] |
| Size of a single unit.
|
|
virtual float | Width [get, set] |
| Actual space occupied by the formation, measured from left to right.
|
|
virtual float | Depth [get] |
| Actual space occupied by the formation, from front to back.
|
|
float | FlankWidth [get, set] |
| The space occupied by the formation, measured from left to right most flank.
|
|
float | RankDepth [get] |
| The space occupied by the formation, from front rank to back most rank.
|
|
float | MinimumFlankWidth [get] |
|
virtual float | MinimumWidth [get] |
| Minimum width of the formation. Using current unit count, minimum unit interval and minimum unit distance.
|
|
virtual float | MaximumWidth [get] |
| Maximum width of the formation. Using current unit count, maximum unit interval and maximum unit distance.
|
|
bool | IsStaggered [get, set] |
|
virtual ? bool | IsLoose [get] |
|
int | UnitCount [get] |
|
int | PositionedUnitCount [get] |
|
Properties inherited from TaleWorlds.MountAndBlade.IFormationArrangement |
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] |
|