game-common / pragma.gameinstance / GameInstancePlugin /

GameInstancePlugin #

interface GameInstancePlugin

GameInstancePlugin is used to define custom interactions throughout the lifecycle of a game instance.

Functions #

NameSummary

buildExtAddedToGame

open suspend fun buildExtAddedToGame(gameInstanceSnapshot: GameInstance.GameInstance, player: GameInstance.GamePlayer): ExtAddedToGame

DEPRECATED in version 0.4.0, removal by 0.6.0. Override handleBackendAddPlayersRequest and use the GameInstance.GamePlayer.dataStore instead.

buildExtGameServerPlayer

open suspend fun buildExtGameServerPlayer(gameInstanceSnapshot: GameInstance.GameInstance, player: GameInstance.GamePlayer): ExtGameServerPlayer

Called to prepare any custom data about a player in a game instance to send to the game server when a player is joining the game instance.

buildExtGameStart

open suspend fun buildExtGameStart(gameInstanceSnapshot: GameInstance.GameInstance): ExtGameStart

Called to prepare any custom data about the game instance to send to the game server when the game server is allocated.

handleBackendAddPlayersByMatchmakingRequest

open suspend fun handleBackendAddPlayersByMatchmakingRequest(gameInstanceSnapshot: GameInstance.GameInstance, addedPlayers: List<GameInstance.GamePlayer>)

Called when players are being added to a game instance from matchmaking. The players will already be added to the game instance.

handleBackendAddPlayersRequest

open suspend fun handleBackendAddPlayersRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestExt: ExtBackendAddPlayersRequest, playersToAdd: Map<<ERROR CLASS>, ExtBackendAddPlayer>)

Called when receiving a backend request to add players to a game instance.

handleBackendCreateByMatchmakingRequest

open suspend fun handleBackendCreateByMatchmakingRequest(gameInstanceSnapshot: GameInstance.GameInstance)

Called when a game instance is being created out of matchmaking. The matched players will already be added to the game instance.

handleBackendCreateRequest

open suspend fun handleBackendCreateRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestExt: ExtBackendCreateRequest, playersToAdd: Map<<ERROR CLASS>, ExtBackendAddPlayer>)

Called when receiving a backend request to create a game instance.

handleBackendRemovePlayersRequest

open suspend fun handleBackendRemovePlayersRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestExt: ExtBackendRemovePlayersRequest, playersToRemove: Map<<ERROR CLASS>, ExtBackendRemovePlayer>)

Called when receiving a backend request to remove players from a game instance.

handleBackendUpdateRequest

open suspend fun handleBackendUpdateRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestExt: ExtBackendUpdateRequest)

Called when receiving a backend request to update a game instance.

handlePlayerCreateRequest

open suspend fun handlePlayerCreateRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestingPlayerId: <ERROR CLASS>, requestExt: ExtPlayerCreateRequest)

Called when receiving a player request to create a game instance.

handlePlayerJoinRequest

open suspend fun handlePlayerJoinRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestingPlayerId: <ERROR CLASS>, requestExt: ExtPlayerJoinGameInstanceRequest)

Called when receiving a player request to join a game instance.

handlePlayerLeaveRequest

open suspend fun handlePlayerLeaveRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestingPlayer: GameInstance.GamePlayer, requestExt: ExtPlayerLeaveRequest)

Called when receiving a player request to leave a game instance.

handlePlayerUpdateRequest

open suspend fun handlePlayerUpdateRequest(gameInstanceSnapshot: GameInstance.GameInstance, requestingPlayer: GameInstance.GamePlayer, requestExt: ExtPlayerUpdateRequest)

Called when receiving a player request to update a game instance.

onEndGame

open suspend fun onEndGame(gameInstanceSnapshot: GameInstance.GameInstance, playerGameResults: List<PlayerGameResult>, requestExt: ExtEndGameRequest)

Called when receiving a game server request to end the game instance.

onGameServerAllocationFailed

open suspend fun onGameServerAllocationFailed(gameInstanceSnapshot: GameInstance.GameInstance)

Called when game server allocation fails for a game instance.

onRemovePlayers

open suspend fun onRemovePlayers(gameInstanceSnapshot: GameInstance.GameInstance, playersToRemove: List<PlayerToRemove>, requestExt: ExtRemovePlayersRequest): Map<<ERROR CLASS>, ExtRemovedFromGame>

Deprecated as of 0.4.0, removal by 0.5.0. Please use GameInstanceService.removePlayersV2 to remove players.