interfaces eventFactory - wxyz-abcd/node-haxball GitHub Wiki
This object only has static functions to create all kinds of event messages.
-
create(type: OperationType): HaxballEvent|undefined
Creates a HaxballEvent object that can be used to trigger events. Returning event's various values might also be required to be set before it can be used, depending on the value of
type
parameter.Parameters:
-
type: OperationType
: The type of the event.
Return value: An instance of HaxballEvent, or undefined if the given type is not a recognized value.
-
-
createFromStream(reader: Impl.Stream.F): HaxballEvent
Reads bytes from a stream to create a HaxballEvent object.
Parameters:
-
reader: Impl.Stream.F
: The stream reader to be used.
Return value: An instance of HaxballEvent.
-
-
checkConsistency(data: ArrayBuffer): ConsistencyCheckEvent
Creates a ConsistencyCheckEvent object that can be used to trigger a consistency check. Returning event's byId is also required to be set before it can be used.
Parameters:
-
data: ArrayBuffer
: The consistency data to check.
Return value: An instance of ConsistencyCheckEvent.
-
-
sendAnnouncement(msg: string, color: int32, style: uint8, sound: uint8): SendAnnouncementEvent
Creates a SendAnnouncementEvent object that can be used to trigger a sendAnnouncement event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
msg: string
: The contents of the announcement message. -
color: int32
: The color of the announcement message. Range: -1 <=color
< 16777216.- The color value can be converted into a rgba string via API's
Utils.numberToColor
function. - The special value
-1
meanstransparent
color.
- The color value can be converted into a rgba string via API's
-
style: uint8
: The style of the announcement message. Must be one of the following:- 0: use document's default font style.
- 1: fontWeight = "bold".
- 2: fontStyle = "italic".
- 3: fontSize = "12px".
- 4: fontWeight = "bold", fontSize = "12px".
- 5: fontWeight = "italic", fontSize = "12px".
-
sound: uint8
: The sound of the announcement message. Must be one of the following:- 0: no sound.
- 1: chat sound.
- 2: highlight sound.
Return value: An instance of SendAnnouncementEvent.
-
-
sendChatIndicator(active: uint8): SendChatIndicatorEvent
Creates a SendChatIndicatorEvent object that can be used to trigger a sendChatIndicator event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
active: uint8
: The desired chat indicator status. (0: passive, 1: active.)
Return value: An instance of SendChatIndicatorEvent.
-
-
sendInput(input: uint32): SendInputEvent
Creates a SendInputEvent object that can be used to trigger a sendInput event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
input: uint32
: The desired input value. ( 0 <= input < 32 )
Return value: An instance of SendInputEvent.
-
-
sendChat(msg: string): SendChatEvent
Creates a SendChatEvent object that can be used to trigger a sendChat event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
msg: string
: The chat message.
Return value: An instance of SendChatEvent.
-
-
joinRoom(id: uint16, name: string, flag: string, avatar: string, conn: string, auth: string): JoinRoomEvent
Creates a JoinRoomEvent object that can be used to trigger a joinRoom event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
id: uint16
: Id of the new player. -
name: string
: Name of the new player. -
flag: string
: Flag of the new player. -
avatar: string
: Avatar of the new player. -
conn: string
: Connection string of the new player. -
auth: string
: Auth of the new player.
Return value: An instance of JoinRoomEvent.
-
-
setHeadlessAvatar(id: uint16, avatar: string): SetHeadlessAvatarEvent
Creates a SetHeadlessAvatarEvent object that can be used to trigger a setHeadlessAvatar event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
id: uint16
: Id of the player whose headless avatar is intended to be changed. -
avatar: string
: The new headless avatar value.
Return value: An instance of SetHeadlessAvatarEvent.
-
-
kickBanPlayer(id: uint16, reason: string, ban: boolean): KickBanPlayerEvent
Creates a KickBanPlayerEvent object that can be used to trigger a kickBanPlayer event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
id: uint16
: Id of the desired player to be kicked/banned. -
reason: string
: Reason of kicking/banning. Ifnull
, this event is interpreted as the player leaving by himself/herself. -
ban: boolean
: Whether this is a banning event or not.
Return value: An instance of KickBanPlayerEvent.
-
-
reorderPlayers(playerIdList: uint16[], moveToTop: boolean): ReorderPlayersEvent
Creates a ReorderPlayersEvent object that can be used to trigger a reorderPlayers event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
playerIdList: uint16[]
: The ids of players that are desired to be removed from the room's players list, reordered to match the order in idList and added back to the room's players list. -
moveToTop: boolean
: Whether to add the players to the top or bottom of the room's players list.
Return value: An instance of ReorderPlayersEvent.
-
-
startGame(): StartGameEvent
Creates a StartGameEvent object that can be used to trigger a startGame event. Returning event's byId is also required to be set before it can be used.
Parameters: None.
Return value: An instance of StartGameEvent.
-
stopGame(): StopGameEvent
Creates a StopGameEvent object that can be used to trigger a stopGame event. Returning event's byId is also required to be set before it can be used.
Parameters: None.
Return value: An instance of StopGameEvent.
-
pauseResumeGame(paused: boolean): PauseResumeGameEvent
Creates a PauseResumeGameEvent object that can be used to trigger a pauseResumeGame event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
paused: boolean
: Whether the game is desired to be paused or resumed.
Return value: An instance of PauseResumeGameEvent.
-
-
setScoreLimit(value: int): SetGamePlayLimitEvent
Creates a SetGamePlayLimitEvent object that can be used to trigger a setScoreLimit event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
value: int
: The desired score limit of the game.
Return value: An instance of SetGamePlayLimitEvent.
-
-
setTimeLimit(value: int): SetGamePlayLimitEvent
Creates a SetGamePlayLimitEvent object that can be used to trigger a setTimeLimit event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
value: int
: The desired time limit of the game.
Return value: An instance of SetGamePlayLimitEvent.
-
-
setStadium(stadium: Stadium): SetStadiumEvent
Creates a SetStadiumEvent object that can be used to trigger a setStadium event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
stadium: Stadium
: The desired stadium value.
Return value: An instance of SetStadiumEvent.
-
-
setPlayerTeam(playerId: uint16, teamId: uint8): SetPlayerTeamEvent
Creates a SetPlayerTeamEvent object that can be used to trigger a setPlayerTeam event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
playerId: uint16
: Id of the player whose team is desired to be changed. -
teamId: uint8
: Id of the desired team.
Return value: An instance of SetPlayerTeamEvent.
-
-
setTeamsLock(value: boolean): SetTeamsLockEvent
Creates a SetTeamsLockEvent object that can be used to trigger a setTeamsLock event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
value: boolean
: The desired teams lock value of the game.
Return value: An instance of SetTeamsLockEvent.
-
-
setPlayerAdmin(playerId: uint16, value: boolean): SetPlayerAdminEvent
Creates a SetPlayerAdminEvent object that can be used to trigger a setPlayerAdmin event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
playerId: uint16
: Id of the player whose admin status is being set. -
value: boolean
: The desired admin status of the player.
Return value: An instance of SetPlayerAdminEvent.
-
-
autoTeams(): AutoTeamsEvent
Creates a AutoTeamsEvent object that can be used to trigger an autoTeams event. Returning event's byId is also required to be set before it can be used.
Parameters: None.
Return value: An instance of AutoTeamsEvent.
-
setPlayerSync(value: boolean): SetPlayerSyncEvent
Creates a SetPlayerSyncEvent object that can be used to trigger a setPlayerSync event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
value: boolean
: The desired synchronization status.
Return value: An instance of SetPlayerSyncEvent.
-
-
ping(values: int32[]): PingEvent
Creates a PingEvent object that can be used to update the ping values of all player. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
values: int32[]
: The desired ping values for all players.
Return value: An instance of PingEvent.
-
-
setAvatar(value: string): SetAvatarEvent
Creates a SetAvatarEvent object that can be used to trigger a setAvatar event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
value: string
: The desired avatar value.value.length
must be <=2
.
Return value: An instance of SetAvatarEvent.
-
-
setTeamColors(teamId: uint8, colors: TeamColors): SetTeamColorsEvent
Creates a SetTeamColorsEvent object that can be used to trigger a setTeamColors event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
teamId: uint8
: Id of the team whose colors are desired to be changed.-
1
: red. -
2
: blue.
-
-
colors: TeamColors
: An instance ofTeamColors
that defines the colors of a team.
Return value: An instance of SetTeamColorsEvent.
-
-
setKickRateLimit(min: int, rate: int, burst: int): SetKickRateLimitEvent
Creates a SetKickRateLimitEvent object that can be used to trigger a setKickRateLimit event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
min: int
: The desired min value of kick rate limit. -
rate: int
: The desired rate value of kick rate limit. -
burst: int
: The desired burst value of kick rate limit.
Return value: An instance of SetKickRateLimitEvent.
-
-
setDiscProperties(id: uint16, data: object): SetDiscPropertiesEvent
Creates a SetDiscPropertiesEvent object that can be used to trigger a setDiscProperties event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
id: uint16
: Id of the disc whose properties are desired to be changed. -
data: object
: The desired properties to set. This will not change the omitted keys of the disc.properties
has the following structure:-
x: number | null
: The desired x coordinate of the disc. -
y: number | null
: The desired y coordinate of the disc. -
xspeed: number | null
: The desired x component of the speed of the disc. -
yspeed: number | null
: The desired y component of the speed of the disc. -
xgravity: number | null
: The desired x component of the gravity of the disc. -
ygravity: number | null
: The desired y component of the gravity of the disc. -
radius: number | null
: The desired radius of the disc. -
bCoeff: number | null
: The desired bouncing coefficient of the disc. -
invMass: number | null
: The desired inverse mass of the disc. -
damping: number | null
: The desired damping of the disc. -
color: int | null
: The desired color of the disc. -
cMask: int | null
: The desired collision mask of the disc. -
cGroup: int | null
: The desired collision group of the disc.
-
Return value: An instance of SetDiscPropertiesEvent.
-
-
setPlayerDiscProperties(id: uint16, data: object): SetDiscPropertiesEvent
Creates a SetDiscPropertiesEvent object that can be used to trigger a setPlayerDiscProperties event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
id: uint16
: Id of the player whose disc properties are desired to be changed. -
data: object
: The desired properties to set. This will not change the omitted keys of the disc.properties
has the following structure:-
x: number | null
: The desired x coordinate of the disc. -
y: number | null
: The desired y coordinate of the disc. -
xspeed: number | null
: The desired x component of the speed of the disc. -
yspeed: number | null
: The desired y component of the speed of the disc. -
xgravity: number | null
: The desired x component of the gravity of the disc. -
ygravity: number | null
: The desired y component of the gravity of the disc. -
radius: number | null
: The desired radius of the disc. -
bCoeff: number | null
: The desired bouncing coefficient of the disc. -
invMass: number | null
: The desired inverse mass of the disc. -
damping: number | null
: The desired damping of the disc. -
color: int | null
: The desired color of the disc. -
cMask: int | null
: The desired collision mask of the disc. -
cGroup: int | null
: The desired collision group of the disc.
-
Return value: An instance of SetDiscPropertiesEvent.
-
-
customEvent(type: uint32, data: object): CustomEvent
Creates a CustomEvent object that can be used to trigger a custom event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
type: uint32
: The type of the custom event. -
data: object
: The data of the custom event. (Any JSON object)
Return value: An instance of CustomEvent.
-
-
binaryCustomEvent(type: uint32, data: Uint8Array): BinaryCustomEvent
Creates a BinaryCustomEvent object that can be used to trigger a binary custom event. Returning event's byId is also required to be set before it can be used.
Parameters:
-
type: uint32
: The type of the binary custom event. -
data: Uint8Array
: Any custom binary data for this specific event.
Return value: An instance of BinaryCustomEvent.
-
-
setPlayerIdentity(id: uint16, data: object): IdentityEvent
Creates an IdentityEvent object that can be used to trigger a identity event. Returning event's byId must be set to 0 before it can be used.
Parameters:
-
id: uint16
: Id of the player whose identity data is desired to be changed. -
data: object
: The identity data that should be received from the backend. It can be any JSON object.
Return value: An instance of IdentityEvent.
-