Arma Reforger Script API
|
Public Member Functions | |
bool | IsResourceTypeEnabled (EResourceType resourceType=EResourceType.SUPPLIES) |
int | GetDisabledResourceTypes (inout notnull array< EResourceType > disabledResourceTypes) |
void | SetResourceTypeEnabled (bool enable, EResourceType resourceType=EResourceType.SUPPLIES, int playerID=-1) |
Change if supplies are enabled or not. | |
ScriptInvokerBase< SCR_BaseGameMode_OnResourceEnabledChanged > | GetOnResourceTypeEnabledChanged () |
bool | CanStartSpawnPreload () |
bool | IsRunning () |
Returns whether current game mode is running its game loop. | |
SCR_EGameModeState | GetState () |
Returns current game state. | |
sealed bool | IsMaster () |
Returns whether the owner of this instance is authority or not. | |
float | GetElapsedTime () |
Returns elapsed time from the start of this game in seconds. | |
float | GetTimeLimit () |
Returns the game duration from the start of game in seconds or 0 if none. | |
float | GetRemainingTime () |
Returns the remaining time of this game in seconds or -1 if none or undefined. | |
bool | IsHosted () |
void | CachePlayerSpawnPosition (int playerID, vector position) |
SCR_RespawnSystemComponent | GetRespawnSystemComponent () |
Returns respawn system component attached to this gamemode. | |
SCR_GameModeHealthSettings | GetGameModeHealthSettings () |
SCR_BaseScoringSystemComponent | GetScoringSystemComponent () |
Returns scoring system component attached to this game mode or null if none. | |
void | StartGameMode () |
Server-only call that starts current session. | |
void | EndGameMode (SCR_GameModeEndData endData) |
Server-only call that marks current session as complete. | |
SCR_GameModeEndData | GetEndGameData () |
Get end game data will return null if game has not ended. | |
ScriptInvoker | GetOnGameStart () |
ScriptInvoker | GetOnGameEnd () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | GetOnPlayerAuditSuccess () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | GetOnPlayerAuditFail () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | GetOnPlayerAuditTimeouted () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | GetOnPlayerAuditRevived () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | GetOnPlayerConnected () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | GetOnPlayerRegistered () |
ScriptInvokerBase< SCR_BaseGameMode_OnPlayerDisconnected > | GetOnPlayerDisconnected () |
ScriptInvokerBase< SCR_BaseGameMode_OnPlayerDisconnected > | GetOnPostCompPlayerDisconnected () |
Called on player disconnect and after Gamemode components are notified. | |
ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > | GetOnPlayerSpawned () |
ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > | GetOnPlayerKilled () |
ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > | GetOnPlayerDeleted () |
ScriptInvokerBase< SCR_BaseGameMode_OnPlayerRoleChanged > | GetOnPlayerRoleChange () |
ScriptInvoker | GetOnWorldPostProcess () |
ScriptInvoker | GetOnControllableSpawned () |
ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > | GetOnControllableDestroyed () |
ScriptInvoker | GetOnControllableDeleted () |
ScriptInvoker | GetOnGameModeEnd () |
Get on game end script invoker called on every machine. | |
WorldTimestamp | GetGameEndTimeStamp () |
Returns local timestamp when endgame was called. | |
float | GetAutoReloadDelay () |
Returns delay of mission reload (if enabled) in seconds or else 0 if disabled. | |
void | OnGameEnd () |
bool | IsFactionChangeAllowed () |
override void | OnPlayerAuditSuccess (int iPlayerID) |
override void | OnPlayerAuditFail (int iPlayerID) |
override void | OnPlayerAuditTimeouted (int iPlayerID) |
override void | OnPlayerAuditRevived (int iPlayerID) |
override void | OnPlayerConnected (int playerId) |
Called after a player is connected. | |
override void | OnWorldPostProcess (World world) |
Called once loading of all entities of the world have been finished (still within the loading) | |
void | OnSpawnPlayerEntityFailure_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, IEntity entity, SCR_SpawnData data, SCR_ESpawnResult reason) |
Authority: Callback raised when the spawn process failed. | |
void | OnPlayerEntityChanged_S (int playerId, IEntity previousEntity, IEntity newEntity) |
Authority: Callback raised when the spawn system causes provided player's controlled entity to change. | |
bool | PreparePlayerEntity_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity) |
Authority only: During the spawn process (after validation pass), the SCR_SpawnHandlerComponent can opt to prepare spawned entity. | |
void | OnPlayerSpawnFinalize_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity) |
Authority only: Whenever a SCR_SpawnHandlerComponent processes a spawn request and finished the finalization stage (awaits finalization, passes control to client) this method is called. | |
void | OnPlayerSpawnOnPoint_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, IEntity entity, SCR_SpawnPointSpawnData spawnPointData) |
Authority: Callback raised when the spawn system causes provided player to spawn with an entity at given spawn point. | |
void | OnPlayerLoadoutSet_S (SCR_PlayerLoadoutComponent loadoutComponent, SCR_BasePlayerLoadout loadout) |
Authority: Callback raised when provided player (SCR_PlayerLoadoutComponent.GetPlayerController()) has their loadout set. | |
void | OnPlayerFactionSet_S (SCR_PlayerFactionAffiliationComponent factionComponent, Faction faction) |
Authority: Callback raised when provided player (SCR_PlayerFactionAffiliationComponent.GetPlayerController()) has their faction set. | |
bool | CanPlayerSpawn_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, out SCR_ESpawnResult result=SCR_ESpawnResult.SPAWN_NOT_ALLOWED) |
Authority: Override and implement logic for whether provided player can spawn. | |
int | GetPlayerRemainingRespawnTime (int playerID) |
Returns remaining respawn time in seconds for given player. | |
override bool | RplSave (ScriptBitWriter writer) |
override bool | RplLoad (ScriptBitReader reader) |
void | HandleOnTasksInitialized () |
Called once tasks are initialized. | |
bool | GetAllowControls () |
SCR_BaseGameModeStateComponent | GetStateComponent (SCR_EGameModeState state) |
bool | PauseGame (bool pause, SCR_EPauseReason reason=SCR_EPauseReason.SYSTEM) |
Pause or unpause game. | |
bool | CanBePaused () |
Return true if client is offline. | |
override void | EOnFrame (IEntity owner, float timeSlice) |
override void | EOnInit (IEntity owner) |
OnPreloadFinishedInvoker | GetOnPreloadFinished () |
void | StartSpawnPreload (vector position) |
void | SCR_BaseGameMode (IEntitySource src, IEntity parent) |
void | ~SCR_BaseGameMode () |
void | OnWorldPostProcess (World world) |
Event called once loading of all entities of the world have been finished. (still within the loading) | |
Static Public Attributes | |
const static string | WB_GAME_MODE_CATEGORY = "Game Mode" |
Protected Member Functions | |
void | OnResourceTypeEnabledChanged () |
\Called when Global Supplies is set to enabled or disabled (Server and client) | |
void | OnGameStateChanged () |
Called when game state changed, i.e. | |
bool | CanStartGameMode () |
Server-only logic that implements whether we can transition from pre-game (if enabled) to game loop. | |
void | OnGameModeStart () |
Called on every machine when game mode starts by OnGameStateChanged. | |
void | OnGameModeEnd (SCR_GameModeEndData endData) |
Called on every machine when game mode ends by OnGameStateChanged. | |
void | RestartSession () |
Reloads current session (authority only). | |
override void | OnGameStart () |
Gets called after world is initialized but before first ticks. | |
override void | OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout) |
Called after a player is disconnected. | |
override void | OnPlayerRegistered (int playerId) |
Called on every machine after a player is registered (identity, name etc.). | |
override void | OnPlayerSpawned (int playerId, IEntity controlledEntity) |
Called after a player is spawned. | |
override bool | HandlePlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer) |
Called after a player is killed, but before 'OnPlayerKilled'. | |
override void | OnPlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer) |
Default player kill behaviour. Called when a player is killed (and HandlePlayerKilled returns true). | |
void | OnPlayerKilledEx (notnull SCR_InstigatorContextData instigatorContextData) |
Extended OnPlayer Kill, called after BaseGamemode has executed the OnPlayerKilled Param[in] instigatorContextData Instigator context data of the killer and victim. | |
void | OnPlayerKilledHandled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer) |
Called after player kill behaviour is handled by a component overriding the generic logic. | |
void | OnPlayerDeleted (int playerId, IEntity player) |
override void | OnPlayerRoleChange (int playerId, EPlayerRole roleFlags) |
Called when player role changes. | |
override void | OnControllableSpawned (IEntity entity) |
When a controllable entity is spawned, this event is raised. | |
override void | OnControllableDestroyed (IEntity entity, IEntity killerEntity, notnull Instigator instigator) |
void | OnControllableDestroyedEx (notnull SCR_InstigatorContextData instigatorContextData) |
Extended controlled character Kill or destroyed, called after BaseGamemode has executed the OnControllableDestroyed Param[in] instigatorContextData Instigator context data of the killer and victim. | |
override void | OnControllableDeleted (IEntity entity) |
void | ConsumeSuppliesOnPlayerSpawn_S (int playerID, IEntity spawnPoint, SCR_PlayerLoadoutComponent loadoutComp) |
void | SetLocalControls (bool enabled) |
Enable or disable controls for the local client. | |
bool | GetAllowControlsTarget () |
void | HandleSpawnPreload (float timeSlice) |
void | OnGameStart () |
Gets called after world is initialized but before first ticks. | |
void | OnPlayerAuditSuccess (int iPlayerID) |
void | OnPlayerAuditFail (int iPlayerID) |
void | OnPlayerAuditTimeouted (int iPlayerID) |
void | OnPlayerAuditRevived (int iPlayerID) |
void | OnPlayerConnected (int playerId) |
Called after a player is connected. | |
void | OnPlayerRegistered (int playerId) |
Called on every machine after a player is registered (identity, name etc.). | |
void | OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout) |
Called after a player is disconnected. | |
void | OnPlayerSpawned (int playerId, IEntity controlledEntity) |
Called after a player is spawned. | |
bool | HandlePlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer) |
Called after a player is killed, but before 'OnPlayerKilled'. | |
void | OnPlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer) |
Called after a player gets killed (but only after 'SCR_HandlePlayerKilled' returns true). | |
void | OnControllableSpawned (IEntity entity) |
When a controllable entity is spawned, this event is raised. | |
void | OnControllableDestroyed (IEntity entity, IEntity killerEntity, notnull Instigator instigator) |
void | OnControllableDeleted (IEntity entity) |
void | OnPlayerRoleChange (int playerId, EPlayerRole roleFlags) |
Called when player role changes. | |
Protected Attributes | |
ref ScriptInvoker | Event_OnGameStart = new ScriptInvoker() |
ref ScriptInvoker | m_OnGameEnd = new ScriptInvoker() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | m_OnPlayerAuditSuccess = new ScriptInvokerBase<SCR_BaseGameMode_PlayerId>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | m_OnPlayerAuditFail = new ScriptInvokerBase<SCR_BaseGameMode_PlayerId>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | m_OnPlayerAuditTimeouted = new ScriptInvokerBase<SCR_BaseGameMode_PlayerId>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | m_OnPlayerAuditRevived = new ScriptInvokerBase<SCR_BaseGameMode_PlayerId>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | m_OnPlayerConnected = new ScriptInvokerBase<SCR_BaseGameMode_PlayerId>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerId > | m_OnPlayerRegistered = new ScriptInvokerBase<SCR_BaseGameMode_PlayerId>() |
ref ScriptInvokerBase< SCR_BaseGameMode_OnPlayerDisconnected > | m_OnPlayerDisconnected = new ScriptInvokerBase<SCR_BaseGameMode_OnPlayerDisconnected>() |
ref ScriptInvokerBase< SCR_BaseGameMode_OnPlayerDisconnected > | m_OnPostCompPlayerDisconnected = new ScriptInvokerBase<SCR_BaseGameMode_OnPlayerDisconnected>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > | m_OnPlayerSpawned = new ScriptInvokerBase<SCR_BaseGameMode_PlayerIdAndEntity>() |
ref ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > | m_OnPlayerKilled = new ScriptInvokerBase<SCR_BaseGameMode_OnControllableDestroyed>() |
ref ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > | m_OnControllableDestroyed = new ScriptInvokerBase<SCR_BaseGameMode_OnControllableDestroyed>() |
ref ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > | m_OnPlayerDeleted = new ScriptInvokerBase<SCR_BaseGameMode_PlayerIdAndEntity>() |
ref ScriptInvokerBase< SCR_BaseGameMode_OnPlayerRoleChanged > | m_OnPlayerRoleChange = new ScriptInvokerBase<SCR_BaseGameMode_OnPlayerRoleChanged>() |
ref ScriptInvoker | m_OnWorldPostProcess = new ScriptInvoker() |
ref ScriptInvoker | m_OnControllableSpawned = new ScriptInvoker() |
ref ScriptInvoker | m_OnControllableDeleted = new ScriptInvoker() |
ref ScriptInvoker | m_OnGameModeEnd = new ScriptInvoker() |
ref ScriptInvokerBase< SCR_BaseGameMode_OnResourceEnabledChanged > | m_OnResourceTypeEnabledChanged |
SCR_EPauseReason | m_ePauseReasons |
EGameFlags | m_eTestGameFlags |
bool | m_bAutoPlayerRespawn |
bool | m_bAllowFactionChange |
bool | m_bAdvanceTimeRequiresPlayers |
float | m_fTimeElapsed |
Elapsed time from the beginning of the game mode in seconds. | |
bool | m_bAllowControls = true |
If false, controls are disable for the time being. | |
float | m_fTimeCorrectionInterval = 10.0 |
Interval of time synchronization in seconds. | |
float | m_fLastTimeCorrection |
Last timestamp of sent time correction for the server. | |
bool | m_bIsHosted |
Is the session hosted by a player? | |
RplComponent | m_RplComponent |
SCR_GameModeHealthSettings | m_pGameModeHealthSettings |
SCR_RespawnSystemComponent | m_pRespawnSystemComponent |
SCR_BaseScoringSystemComponent | m_ScoringSystemComponent |
SCR_RespawnTimerComponent | m_RespawnTimerComponent |
ref array< SCR_BaseGameModeComponent > | m_aAdditionalGamemodeComponents = new array<SCR_BaseGameModeComponent>() |
Additional game mode components attached to this gamemode where we dispatch all our game mode related events to. | |
ref map< int, vector > | m_mPlayerSpawnPosition = new map<int, vector>() |
Used on server to respawn player on their original position after reconnecting. | |
ref map< SCR_EGameModeState, SCR_BaseGameModeStateComponent > | m_mStateComponents = new map<SCR_EGameModeState, SCR_BaseGameModeStateComponent>() |
Map of components per state. | |
bool | m_bUseSpawnPreload |
Spawn location preload. | |
ref SCR_SpawnPreload | m_SpawnPreload |
ref OnPreloadFinishedInvoker | m_OnPreloadFinished |
ref array< EResourceType > | m_aDisabledResourceTypes |
WorldTimestamp | m_GameEndTimeStamp = null |
void SCR_BaseGameMode.SCR_BaseGameMode | ( | IEntitySource | src, |
IEntity | parent | ||
) |
void SCR_BaseGameMode.~SCR_BaseGameMode | ( | ) |
void SCR_BaseGameMode.CachePlayerSpawnPosition | ( | int | playerID, |
vector | position | ||
) |
bool SCR_BaseGameMode.CanBePaused | ( | ) |
Return true if client is offline.
bool SCR_BaseGameMode.CanPlayerSpawn_S | ( | SCR_SpawnRequestComponent | requestComponent, |
SCR_SpawnHandlerComponent | handlerComponent, | ||
SCR_SpawnData | data, | ||
out SCR_ESpawnResult | result = SCR_ESpawnResult::SPAWN_NOT_ALLOWED |
||
) |
Authority: Override and implement logic for whether provided player can spawn.
requestComponent | The player request component instigating this spawn. | |
handlerComponent | The spawn handler component handling this spawn. | |
data | The request payload. | |
[out] | result | Reason why respawn is disabled. Note that if returns true the reason will always be OK |
Implemented in SCR_GameModeCampaign.
|
protected |
Server-only logic that implements whether we can transition from pre-game (if enabled) to game loop.
Requires an attached SCR_BaseGameModeStateComponent affiliated to the SCR_EGameModeState.PREGAME state.
Does not apply to manual StartGameMode() call from the authority!
bool SCR_BaseGameMode.CanStartSpawnPreload | ( | ) |
|
protected |
void SCR_BaseGameMode.EndGameMode | ( | SCR_GameModeEndData | endData | ) |
Server-only call that marks current session as complete.
Replicates state to all clients, see GetState() and IsRunning().
SCR_GameModeEndData | the data this game mode ends with. When null, fallback to default is used. All machines can reach this data in the OnGameModeEnd(SCR_GameModeEndData) method. |
override void SCR_BaseGameMode.EOnFrame | ( | IEntity | owner, |
float | timeSlice | ||
) |
Implemented in SCR_GameModeCleanSweep, and SCR_GameModeLastStand.
override void SCR_BaseGameMode.EOnInit | ( | IEntity | owner | ) |
Implemented in SCR_GameModeCleanSweep, and SCR_GameModeLastStand.
bool SCR_BaseGameMode.GetAllowControls | ( | ) |
|
protected |
float SCR_BaseGameMode.GetAutoReloadDelay | ( | ) |
Returns delay of mission reload (if enabled) in seconds or else 0 if disabled.
int SCR_BaseGameMode.GetDisabledResourceTypes | ( | inout notnull array< EResourceType > | disabledResourceTypes | ) |
[out] | disabledResourceTypes | Disabled resource types |
float SCR_BaseGameMode.GetElapsedTime | ( | ) |
Returns elapsed time from the start of this game in seconds.
SCR_GameModeEndData SCR_BaseGameMode.GetEndGameData | ( | ) |
Get end game data will return null if game has not ended.
WorldTimestamp SCR_BaseGameMode.GetGameEndTimeStamp | ( | ) |
Returns local timestamp when endgame was called.
SCR_GameModeHealthSettings SCR_BaseGameMode.GetGameModeHealthSettings | ( | ) |
ScriptInvoker SCR_BaseGameMode.GetOnControllableDeleted | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > SCR_BaseGameMode.GetOnControllableDestroyed | ( | ) |
ScriptInvoker SCR_BaseGameMode.GetOnControllableSpawned | ( | ) |
ScriptInvoker SCR_BaseGameMode.GetOnGameEnd | ( | ) |
ScriptInvoker SCR_BaseGameMode.GetOnGameModeEnd | ( | ) |
Get on game end script invoker called on every machine.
ScriptInvoker SCR_BaseGameMode.GetOnGameStart | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > SCR_BaseGameMode.GetOnPlayerAuditFail | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > SCR_BaseGameMode.GetOnPlayerAuditRevived | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > SCR_BaseGameMode.GetOnPlayerAuditSuccess | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > SCR_BaseGameMode.GetOnPlayerAuditTimeouted | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > SCR_BaseGameMode.GetOnPlayerConnected | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > SCR_BaseGameMode.GetOnPlayerDeleted | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_OnPlayerDisconnected > SCR_BaseGameMode.GetOnPlayerDisconnected | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > SCR_BaseGameMode.GetOnPlayerKilled | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerId > SCR_BaseGameMode.GetOnPlayerRegistered | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_OnPlayerRoleChanged > SCR_BaseGameMode.GetOnPlayerRoleChange | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > SCR_BaseGameMode.GetOnPlayerSpawned | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_OnPlayerDisconnected > SCR_BaseGameMode.GetOnPostCompPlayerDisconnected | ( | ) |
Called on player disconnect and after Gamemode components are notified.
OnPreloadFinishedInvoker SCR_BaseGameMode.GetOnPreloadFinished | ( | ) |
ScriptInvokerBase< SCR_BaseGameMode_OnResourceEnabledChanged > SCR_BaseGameMode.GetOnResourceTypeEnabledChanged | ( | ) |
ScriptInvoker SCR_BaseGameMode.GetOnWorldPostProcess | ( | ) |
int SCR_BaseGameMode.GetPlayerRemainingRespawnTime | ( | int | playerID | ) |
Returns remaining respawn time in seconds for given player.
float SCR_BaseGameMode.GetRemainingTime | ( | ) |
Returns the remaining time of this game in seconds or -1 if none or undefined.
SCR_RespawnSystemComponent SCR_BaseGameMode.GetRespawnSystemComponent | ( | ) |
Returns respawn system component attached to this gamemode.
SCR_BaseScoringSystemComponent SCR_BaseGameMode.GetScoringSystemComponent | ( | ) |
Returns scoring system component attached to this game mode or null if none.
SCR_EGameModeState SCR_BaseGameMode.GetState | ( | ) |
Returns current game state.
See SCR_GameModeState for more details.
SCR_BaseGameModeStateComponent SCR_BaseGameMode.GetStateComponent | ( | SCR_EGameModeState | state | ) |
float SCR_BaseGameMode.GetTimeLimit | ( | ) |
Returns the game duration from the start of game in seconds or 0 if none.
void SCR_BaseGameMode.HandleOnTasksInitialized | ( | ) |
Called once tasks are initialized.
|
protected |
Called after a player is killed, but before 'OnPlayerKilled'.
The default behavior is such that this method returns true, therefore each kill is handled automatically, resulting in a 'OnPlayerKilled' callback. When this method is overridden to return false, the callback is not called automatically.
This custom behavior can be used to suppress 'OnPlayerKilled' callbacks in specific scenarios, e.g. when a player is possessing an AI, in which case it might not be desirable to raise this callback, but rather handle the kill manually, by the user: e.g. by returning the player's control of their previous entity.
Return true to handle kill automatically, resulting in an immediate 'OnPlayerKilled' callback, otherwise the kill callback is suppressed, allowing custom user handling.
playerId | PlayerId of victim player. |
player | Entity of victim player (if any). |
killerEntity | entity of the instigator. If killerEntity is null, you can use instigator.GetInstigatorEntity() if appropiate. |
killer | Entity of killer instigator (if any). |
Implements BaseGameMode.
|
protected |
bool SCR_BaseGameMode.IsFactionChangeAllowed | ( | ) |
bool SCR_BaseGameMode.IsHosted | ( | ) |
sealed bool SCR_BaseGameMode.IsMaster | ( | ) |
Returns whether the owner of this instance is authority or not.
bool SCR_BaseGameMode.IsResourceTypeEnabled | ( | EResourceType | resourceType = EResourceType::SUPPLIES | ) |
bool SCR_BaseGameMode.IsRunning | ( | ) |
Returns whether current game mode is running its game loop.
|
protected |
Implements BaseGameMode.
|
protected |
Implements BaseGameMode.
Implemented in SCR_GameModeLastStand.
|
protected |
Extended controlled character Kill or destroyed, called after BaseGamemode has executed the OnControllableDestroyed Param[in] instigatorContextData Instigator context data of the killer and victim.
Implemented in SCR_GameModeCampaign.
|
protected |
When a controllable entity is spawned, this event is raised.
Controllable entity is such that has BaseControllerComponent and can be possessed either by a player, an AI or stay unpossessed.
entity | Spawned entity that raised this event |
Implements BaseGameMode.
void SCR_BaseGameMode.OnGameEnd | ( | ) |
Implemented in SCR_GameModeEditor.
|
protected |
Called on every machine when game mode ends by OnGameStateChanged.
This can be based on time limit or as deemed appropriate by the authority, e.g. after reaching certain score threshold and similar.
SCR_GameModeEndData | optional game mode end data received from the server. |
|
protected |
Called on every machine when game mode starts by OnGameStateChanged.
This can be immediate (if no pre-game period is set) or can happen after a certain delay, as deemed appropriate by the authority.
|
protected |
Gets called after world is initialized but before first ticks.
Implements BaseGameMode.
Implemented in SCR_GameModeEditor.
|
protected |
Called when game state changed, i.e.
when game ends. Can be used to display post-scenario scoreboard and prepare for next match if any. See IsRunning() for new state.
override void SCR_BaseGameMode.OnPlayerAuditFail | ( | int | iPlayerID | ) |
Implements BaseGameMode.
override void SCR_BaseGameMode.OnPlayerAuditRevived | ( | int | iPlayerID | ) |
Implements BaseGameMode.
override void SCR_BaseGameMode.OnPlayerAuditSuccess | ( | int | iPlayerID | ) |
Implements BaseGameMode.
Implemented in SCR_GameModeCampaign.
override void SCR_BaseGameMode.OnPlayerAuditTimeouted | ( | int | iPlayerID | ) |
Implements BaseGameMode.
override void SCR_BaseGameMode.OnPlayerConnected | ( | int | playerId | ) |
Called after a player is connected.
Server-only.
playerId | PlayerId of connected player. |
Implements BaseGameMode.
|
protected |
Implemented in SCR_GameModeEditor.
|
protected |
Called after a player is disconnected.
playerId | PlayerId of disconnected player. |
Implements BaseGameMode.
Implemented in SCR_GameModeCampaign, and SCR_GameModeCleanSweep.
void SCR_BaseGameMode.OnPlayerEntityChanged_S | ( | int | playerId, |
IEntity | previousEntity, | ||
IEntity | newEntity | ||
) |
Authority: Callback raised when the spawn system causes provided player's controlled entity to change.
void SCR_BaseGameMode.OnPlayerFactionSet_S | ( | SCR_PlayerFactionAffiliationComponent | factionComponent, |
Faction | faction | ||
) |
Authority: Callback raised when provided player (SCR_PlayerFactionAffiliationComponent.GetPlayerController()) has their faction set.
|
protected |
Default player kill behaviour. Called when a player is killed (and HandlePlayerKilled returns true).
Implements BaseGameMode.
Implemented in SCR_GameModeCleanSweep, and SCR_GameModeEditor.
|
protected |
Extended OnPlayer Kill, called after BaseGamemode has executed the OnPlayerKilled Param[in] instigatorContextData Instigator context data of the killer and victim.
Implemented in SCR_GameModeCampaign.
|
protected |
Called after player kill behaviour is handled by a component overriding the generic logic.
void SCR_BaseGameMode.OnPlayerLoadoutSet_S | ( | SCR_PlayerLoadoutComponent | loadoutComponent, |
SCR_BasePlayerLoadout | loadout | ||
) |
Authority: Callback raised when provided player (SCR_PlayerLoadoutComponent.GetPlayerController()) has their loadout set.
|
protected |
Called on every machine after a player is registered (identity, name etc.).
Always called after OnPlayerConnected.
playerId | PlayerId of registered player. |
Implements BaseGameMode.
Implemented in SCR_GameModeCampaign, and SCR_GameModeCleanSweep.
|
protected |
Called when player role changes.
playerId | Player whose role is being changed. |
roleFlags | Roles as a flags |
Implements BaseGameMode.
|
protected |
Called after a player is spawned.
playerId | PlayerId of spawned player. |
controlledEntity | Spawned entity for this player. |
Implements BaseGameMode.
void SCR_BaseGameMode.OnPlayerSpawnFinalize_S | ( | SCR_SpawnRequestComponent | requestComponent, |
SCR_SpawnHandlerComponent | handlerComponent, | ||
SCR_SpawnData | data, | ||
IEntity | entity | ||
) |
Authority only: Whenever a SCR_SpawnHandlerComponent processes a spawn request and finished the finalization stage (awaits finalization, passes control to client) this method is called.
This is the final step in the respawn process and after this point the owner of SCR_SpawnRequestComponent is spawned.
requestComponent | Instigator of the request. |
handlerComponent | Handler that processed the request. |
data | The payload of the request. |
entity | Spawned (or generally assigned) entity. |
Implemented in SCR_GameModeCampaign.
void SCR_BaseGameMode.OnPlayerSpawnOnPoint_S | ( | SCR_SpawnRequestComponent | requestComponent, |
SCR_SpawnHandlerComponent | handlerComponent, | ||
IEntity | entity, | ||
SCR_SpawnPointSpawnData | spawnPointData | ||
) |
Authority: Callback raised when the spawn system causes provided player to spawn with an entity at given spawn point.
See: SCR_BaseGameMode.OnPlayerSpawnFinalize_S
Implemented in SCR_GameModeCampaign.
|
protected |
\Called when Global Supplies is set to enabled or disabled (Server and client)
void SCR_BaseGameMode.OnSpawnPlayerEntityFailure_S | ( | SCR_SpawnRequestComponent | requestComponent, |
SCR_SpawnHandlerComponent | handlerComponent, | ||
IEntity | entity, | ||
SCR_SpawnData | data, | ||
SCR_ESpawnResult | reason | ||
) |
Authority: Callback raised when the spawn process failed.
In cases where an entity is spawned, it might be desirable to dispose of it or handle specific related game logic if it e.g. cannot be prepared, or assigned to the target player.
entity | The entity that should be spawned, but could not be given over (prepared, assigned, ..) |
override void SCR_BaseGameMode.OnWorldPostProcess | ( | World | world | ) |
Called once loading of all entities of the world have been finished (still within the loading)
world | Loaded world |
Implements BaseGameMode.
Implemented in SCR_GameModeCampaign.
bool SCR_BaseGameMode.PauseGame | ( | bool | pause, |
SCR_EPauseReason | reason = SCR_EPauseReason::SYSTEM |
||
) |
Pause or unpause game.
Prevent unpause if it's paused by GM.
[in] | pause | True - will pause game, False - will continue game |
[in] | reason | From which system is pause called. |
bool SCR_BaseGameMode.PreparePlayerEntity_S | ( | SCR_SpawnRequestComponent | requestComponent, |
SCR_SpawnHandlerComponent | handlerComponent, | ||
SCR_SpawnData | data, | ||
IEntity | entity | ||
) |
Authority only: During the spawn process (after validation pass), the SCR_SpawnHandlerComponent can opt to prepare spawned entity.
This process first happens on affiliated SCR_SpawnHandlerComponent and if it succeeds, it additionally raises this method, which can prepare entity on a global scale. (E.g. game mode logic) Preparation can still fail (e.g. desire to seat a character, but an error occurs) and by returning false the sender is informed of such failure and can respond accordingly.
requestComponent | Instigator of the request. |
handlerComponent | Handler that processed the request. |
data | The payload of the request. |
entity | Spawned (or generally assigned) entity to be prepared. |
|
protected |
Reloads current session (authority only).
override bool SCR_BaseGameMode.RplLoad | ( | ScriptBitReader | reader | ) |
Implemented in SCR_GameModeCampaign.
override bool SCR_BaseGameMode.RplSave | ( | ScriptBitWriter | writer | ) |
Implemented in SCR_GameModeCampaign.
|
protected |
Enable or disable controls for the local client.
enabled | True to enable controls, false to disable controls over controlled entity. |
void SCR_BaseGameMode.SetResourceTypeEnabled | ( | bool | enable, |
EResourceType | resourceType = EResourceType::SUPPLIES , |
||
int | playerID = -1 |
||
) |
Change if supplies are enabled or not.
[in] | enable | Set true to enable supplies, set false to disable |
[in] | resourceType | Type of resource to enable |
[in] | Player | ID of player that enabled supplies for the game mode (For notifications) |
void SCR_BaseGameMode.StartGameMode | ( | ) |
Server-only call that starts current session.
Replicates state to all clients, see GetState() and IsRunning().
void SCR_BaseGameMode.StartSpawnPreload | ( | vector | position | ) |
position |
|
protected |
|
protected |
Additional game mode components attached to this gamemode where we dispatch all our game mode related events to.
|
protected |
|
protected |
|
protected |
If false, controls are disable for the time being.
|
protected |
|
protected |
|
protected |
Is the session hosted by a player?
|
protected |
Spawn location preload.
|
protected |
|
protected |
|
protected |
Last timestamp of sent time correction for the server.
|
protected |
Interval of time synchronization in seconds.
|
protected |
Elapsed time from the beginning of the game mode in seconds.
NOTE: This does not correspond to the length of session but rather to the length of current game mode loop.
|
protected |
|
protected |
Used on server to respawn player on their original position after reconnecting.
|
protected |
Map of components per state.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |