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

Inherits TaleWorlds.MountAndBlade.MissionLogic, and TaleWorlds.MountAndBlade.IMissionAgentSpawnLogic.

Classes

struct  SpawnNotificationData
 

Public Member Functions

delegate void OnPhaseChangedDelegate ()
 
override void AfterStart ()
 
int GetNumberOfPlayerControllableTroops ()
 
void InitWithSinglePhase (int defenderTotalSpawn, int attackerTotalSpawn, int defenderInitialSpawn, int attackerInitialSpawn, bool spawnDefenders, bool spawnAttackers, in MissionSpawnSettings spawnSettings)
 Initializes a single phase mission spawn logic.
 
IEnumerable< IAgentOriginBaseGetAllTroopsForSide (BattleSideEnum side)
 
override void OnMissionTick (float dt)
 
 MissionAgentSpawnLogic (IMissionTroopSupplier[] suppliers, BattleSideEnum playerSide, Mission.BattleSizeType battleSizeType)
 
void SetCustomReinforcementSpawnTimer (ICustomReinforcementSpawnTimer timer)
 
void SetSpawnTroops (BattleSideEnum side, bool spawnTroops, bool enforceSpawning=false)
 
override void OnBehaviorInitialize ()
 
void SetSpawnHorses (BattleSideEnum side, bool spawnHorses)
 
void StartSpawner (BattleSideEnum side)
 
void StopSpawner (BattleSideEnum side)
 
bool IsSideSpawnEnabled (BattleSideEnum side)
 
void OnInitialSpawnForSideEnded (BattleSideEnum side)
 
float GetReinforcementInterval ()
 
void SetReinforcementsSpawnEnabled (bool value, bool resetTimers=true)
 
int GetTotalNumberOfTroopsForSide (BattleSideEnum side)
 
BasicCharacterObject GetGeneralCharacterOfSide (BattleSideEnum side)
 
bool GetSpawnHorses (BattleSideEnum side)
 
bool IsSideDepleted (BattleSideEnum side)
 
void AddPhaseChangeAction (BattleSideEnum side, OnPhaseChangedDelegate onPhaseChanged)
 
- Public Member Functions inherited from TaleWorlds.MountAndBlade.MissionLogic
virtual InquiryData OnEndMissionRequest (out bool canLeave)
 
virtual bool MissionEnded (ref MissionResult missionResult)
 
virtual void OnBattleEnded ()
 
virtual void ShowBattleResults ()
 
virtual void OnRetreatMission ()
 
virtual void OnSurrenderMission ()
 
virtual void OnAutoDeployTeam (Team team)
 
virtual List< EquipmentElementGetExtraEquipmentElementsForCharacter (BasicCharacterObject character, bool getAllEquipments=false)
 
virtual void OnMissionResultReady (MissionResult missionResult)
 
- Public Member Functions inherited from TaleWorlds.MountAndBlade.MissionBehavior
virtual void OnAfterMissionCreated ()
 
virtual void OnBehaviorInitialize ()
 
virtual void OnCreated ()
 
virtual void EarlyStart ()
 
virtual void AfterStart ()
 
virtual void OnMissileHit (Agent attacker, Agent victim, bool isCanceled, AttackCollisionData collisionData)
 
virtual void OnMeleeHit (Agent attacker, Agent victim, bool isCanceled, AttackCollisionData collisionData)
 
virtual void OnMissileCollisionReaction (Mission.MissileCollisionReaction collisionReaction, Agent attackerAgent, Agent attachedAgent, sbyte attachedBoneIndex)
 
virtual void OnMissionScreenPreLoad ()
 
virtual void OnAgentCreated (Agent agent)
 
virtual void OnAgentBuild (Agent agent, Banner banner)
 
virtual void OnAgentTeamChanged (Team prevTeam, Team newTeam, Agent agent)
 
virtual void OnAgentHit (Agent affectedAgent, Agent affectorAgent, in MissionWeapon affectorWeapon, in Blow blow, in AttackCollisionData attackCollisionData)
 
virtual void OnScoreHit (Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit, in Blow blow, in AttackCollisionData collisionData, float damagedHp, float hitDistance, float shotDifficulty)
 
virtual void OnEarlyAgentRemoved (Agent affectedAgent, Agent affectorAgent, AgentState agentState, KillingBlow blow)
 
virtual void OnAgentRemoved (Agent affectedAgent, Agent affectorAgent, AgentState agentState, KillingBlow blow)
 
virtual void OnAgentDeleted (Agent affectedAgent)
 
virtual void OnAgentFleeing (Agent affectedAgent)
 
virtual void OnAgentPanicked (Agent affectedAgent)
 
virtual void OnFocusGained (Agent agent, IFocusable focusableObject, bool isInteractable)
 
virtual void OnFocusLost (Agent agent, IFocusable focusableObject)
 
virtual void OnAddTeam (Team team)
 
virtual void AfterAddTeam (Team team)
 
virtual void OnAgentInteraction (Agent userAgent, Agent agent)
 
virtual void OnClearScene ()
 
virtual void OnEndMissionInternal ()
 Do not override this.
 
virtual void OnRemoveBehavior ()
 
virtual void OnPreMissionTick (float dt)
 
virtual void OnPreDisplayMissionTick (float dt)
 
virtual void OnMissionTick (float dt)
 
virtual void OnAgentMount (Agent agent)
 
virtual void OnAgentDismount (Agent agent)
 
virtual bool IsThereAgentAction (Agent userAgent, Agent otherAgent)
 
virtual void OnEntityRemoved (GameEntity entity)
 
virtual void OnObjectUsed (Agent userAgent, UsableMissionObject usedObject)
 
virtual void OnObjectStoppedBeingUsed (Agent userAgent, UsableMissionObject usedObject)
 
virtual void OnRenderingStarted ()
 
virtual void OnMissionStateActivated ()
 Called either after the mission is first initialized or the mission state is re-activated when a prior state (like inventory) is popped out of GameState stack.
 
virtual void OnMissionStateFinalized ()
 Called right before the mission state is finalized and any remaining allocated mission resources are released. This is not the same as OnMissionEnd callback which is called after the player clicks end/retreat button on battle results screen. MissionState is deallocated some time after OnMissionEnd to let MissionBehaviors to correctly deallocated themselves. Certain data structures (like Mission's agent list) are emptied here so do not depend on them. This is the final callback mission behaviors will receive before they are removed entirely.
 
virtual void OnMissionStateDeactivated ()
 Called either before mission is finalized or the mission state is deactivated due to another state (like inventory) being pushed into GameStates stack.
 
virtual void OnMissionRestart ()
 
virtual List< CompassItemUpdateParamsGetCompassTargets ()
 
virtual void OnAssignPlayerAsSergeantOfFormation (Agent agent)
 
virtual void OnDeploymentFinished ()
 
virtual void OnFormationUnitsSpawned (Team team)
 
virtual void OnAgentAlarmedStateChanged (Agent agent, Agent.AIStateFlag flag)
 
virtual void OnMissionModeChange (MissionMode oldMissionMode, bool atStart)
 
virtual void OnItemPickup (Agent agent, SpawnedItemEntity item)
 
virtual void OnItemDrop (Agent agent, SpawnedItemEntity item)
 
virtual void OnRegisterBlow (Agent attacker, Agent victim, GameEntity realHitEntity, Blow b, ref AttackCollisionData collisionData, in MissionWeapon attackerWeapon)
 
virtual void OnAgentShootMissile (Agent shooterAgent, EquipmentIndex weaponIndex, Vec3 position, Vec3 velocity, Mat3 orientation, bool hasRigidBody, int forcedMissileIndex)
 
void StartSpawner (BattleSideEnum side)
 
void StopSpawner (BattleSideEnum side)
 
bool IsSideSpawnEnabled (BattleSideEnum side)
 
bool IsSideDepleted (BattleSideEnum side)
 
float GetReinforcementInterval ()
 

Protected Member Functions

override void OnEndMission ()
 Called right before the mission ends (i.e. after player clicks done/retreat button in battle results screen for SP missions). Preferably unregister all your Mission dependent events here. Some mission fields (like agent lists) will be deallocated after the mission ends.
 
virtual void OnEndMission ()
 Called right before the mission ends (i.e. after player clicks done/retreat button in battle results screen for SP missions). Preferably unregister all your Mission dependent events here. Some mission fields (like agent lists) will be deallocated after the mission ends.
 

Properties

static int MaxNumberOfAgentsForMission [get]
 
int NumberOfAgents [get]
 
int NumberOfRemainingTroops [get]
 
int NumberOfActiveDefenderTroops [get]
 
int NumberOfActiveAttackerTroops [get]
 
int NumberOfRemainingDefenderTroops [get]
 
int NumberOfRemainingAttackerTroops [get]
 
int BattleSize [get]
 
bool IsInitialSpawnOver [get]
 
ref readonly MissionSpawnSettings ReinforcementSpawnSettings [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.MissionLogic
override MissionBehaviorType BehaviorType [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.MissionBehavior
Mission Mission [get]
 
IInputContext DebugInput [get]
 
abstract MissionBehaviorType BehaviorType [get]
 

Events

Action< SpawnNotificationDataOnNotifyReinforcementsSpawned
 
Action< SpawnNotificationDataOnNotifyInitialTroopsSpawned
 

Constructor & Destructor Documentation

◆ MissionAgentSpawnLogic()

TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.MissionAgentSpawnLogic ( IMissionTroopSupplier[]  suppliers,
BattleSideEnum  playerSide,
Mission::BattleSizeType  battleSizeType 
)

Member Function Documentation

◆ OnPhaseChangedDelegate()

delegate void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnPhaseChangedDelegate ( )

◆ AfterStart()

override void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.AfterStart ( )
virtual

◆ GetNumberOfPlayerControllableTroops()

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.GetNumberOfPlayerControllableTroops ( )

◆ InitWithSinglePhase()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.InitWithSinglePhase ( int  defenderTotalSpawn,
int  attackerTotalSpawn,
int  defenderInitialSpawn,
int  attackerInitialSpawn,
bool  spawnDefenders,
bool  spawnAttackers,
in MissionSpawnSettings  spawnSettings 
)
Parameters
defenderTotalSpawnTotal number of defenders to spawn
attackerTotalSpawnTotal number of attackers to spawn
defenderInitialSpawnNumber of initial defenders to spawn. Remainders will spawn as reinforcements
attackerInitialSpawnNumber of initial attackers to spawn. Remainders will spawn as reinforcements
spawnDefendersImmediately spawn initial defenders within this method. If set to false mission logics will decide when to spawn them
spawnAttackersImmediately spawn attacker defenders within this method. If set to false mission logics will decide when to spawn them
spawnSettingsConfiguration to decide number of reinforcements and reinforcement spawn intervals

◆ GetAllTroopsForSide()

IEnumerable< IAgentOriginBase > TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.GetAllTroopsForSide ( BattleSideEnum  side)

◆ OnMissionTick()

override void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnMissionTick ( float  dt)
virtual

◆ SetCustomReinforcementSpawnTimer()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.SetCustomReinforcementSpawnTimer ( ICustomReinforcementSpawnTimer  timer)

◆ SetSpawnTroops()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.SetSpawnTroops ( BattleSideEnum  side,
bool  spawnTroops,
bool  enforceSpawning = false 
)

◆ OnBehaviorInitialize()

override void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnBehaviorInitialize ( )
virtual

◆ OnEndMission()

override void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnEndMission ( )
protectedvirtual

◆ SetSpawnHorses()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.SetSpawnHorses ( BattleSideEnum  side,
bool  spawnHorses 
)

◆ StartSpawner()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.StartSpawner ( BattleSideEnum  side)

◆ StopSpawner()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.StopSpawner ( BattleSideEnum  side)

◆ IsSideSpawnEnabled()

bool TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.IsSideSpawnEnabled ( BattleSideEnum  side)

◆ OnInitialSpawnForSideEnded()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnInitialSpawnForSideEnded ( BattleSideEnum  side)

◆ GetReinforcementInterval()

float TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.GetReinforcementInterval ( )

◆ SetReinforcementsSpawnEnabled()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.SetReinforcementsSpawnEnabled ( bool  value,
bool  resetTimers = true 
)

◆ GetTotalNumberOfTroopsForSide()

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.GetTotalNumberOfTroopsForSide ( BattleSideEnum  side)

◆ GetGeneralCharacterOfSide()

BasicCharacterObject TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.GetGeneralCharacterOfSide ( BattleSideEnum  side)

◆ GetSpawnHorses()

bool TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.GetSpawnHorses ( BattleSideEnum  side)

◆ IsSideDepleted()

bool TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.IsSideDepleted ( BattleSideEnum  side)

◆ AddPhaseChangeAction()

void TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.AddPhaseChangeAction ( BattleSideEnum  side,
OnPhaseChangedDelegate  onPhaseChanged 
)

Property Documentation

◆ MaxNumberOfAgentsForMission

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.MaxNumberOfAgentsForMission
staticget

◆ NumberOfAgents

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.NumberOfAgents
get

◆ NumberOfRemainingTroops

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.NumberOfRemainingTroops
get

◆ NumberOfActiveDefenderTroops

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.NumberOfActiveDefenderTroops
get

◆ NumberOfActiveAttackerTroops

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.NumberOfActiveAttackerTroops
get

◆ NumberOfRemainingDefenderTroops

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.NumberOfRemainingDefenderTroops
get

◆ NumberOfRemainingAttackerTroops

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.NumberOfRemainingAttackerTroops
get

◆ BattleSize

int TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.BattleSize
get

◆ IsInitialSpawnOver

bool TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.IsInitialSpawnOver
get

◆ ReinforcementSpawnSettings

ref readonly MissionSpawnSettings TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.ReinforcementSpawnSettings
get

Event Documentation

◆ OnNotifyReinforcementsSpawned

Action<SpawnNotificationData> TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnNotifyReinforcementsSpawned

◆ OnNotifyInitialTroopsSpawned

Action<SpawnNotificationData> TaleWorlds.MountAndBlade.MissionAgentSpawnLogic.OnNotifyInitialTroopsSpawned