interfaces eventFactory - wxyz-abcd/node-haxball GitHub Wiki

EventFactory

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.

  • 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 means transparent color.
    • 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. If null, 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): SetLimitEvent

    Creates a SetLimitEvent 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 SetLimitEvent.

  • setTimeLimit(value: int): SetLimitEvent

    Creates a SetLimitEvent 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 SetLimitEvent.

  • 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 of TeamColors 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.

⚠️ **GitHub.com Fallback** ⚠️