UNPKG

haxjs

Version:

haxball headless api written in typescript

95 lines (94 loc) 4.96 kB
import { AnnounceStyle } from './announce-style'; import { CollisionFlags } from './collision-flags'; import { DiscProperties } from './disc-properties'; import { Player } from './player'; import { Position } from './position'; import { RoomConfig } from './room-config'; import { Scores } from './scores'; import { DefaultStadium } from './default-stadium'; import { TeamID } from './team-id'; declare global { export interface Window { _room: Room; HBInit: (roomConfig: RoomConfig) => Room; onPlayerJoin: (player: Player) => void; onPlayerLeave: (player: Player) => void; onTeamVictory: (scores: Scores) => void; onPlayerChat: (player: Player, message: string) => void; onPlayerBallKick: (player: Player) => void; onTeamGoal: (team: TeamID) => void; onGameStart: (byPlayer: Player | null) => void; onGameStop: (byPlayer: Player | null) => void; onPlayerAdminChange: (changedPlayer: Player, byPlayer: Player | null) => void; onPlayerTeamChange: (changedPlayer: Player, byPlayer: Player | null) => void; onPlayerKicked: (kickedPlayer: Player, reason: string, ban: boolean, byPlayer: Player | null) => void; onGameTick: () => void; onGamePause: (byPlayer: Player | null) => void; onGameUnpause: (byPlayer: Player | null) => void; onPositionsReset: () => void; onPlayerActivity: (player: Player) => void; onStadiumChange: (newStadiumName: string, byPlayer: Player | null) => void; onKickRateLimitSet: (min: number, rate: number, burst: number, byPlayer: Player | null) => void; } } export declare class Room { private page; private config; constructor(config: RoomConfig); private openNewTab; private exposeFunctions; private createRoom; start(): Promise<void>; sendChat(message: string, targetId?: number | null): Promise<void>; setPlayerAdmin(playerId: number, admin: boolean): Promise<void>; setPlayerTeam(playerId: number, team: number): Promise<void>; kickPlayer(playerId: number, reason: string, ban: boolean): Promise<void>; clearBan(playerId: number): Promise<void>; clearBans(): Promise<void>; setScoreLimit(limit: number): Promise<void>; setTimeLimit(limitInMinutes: number): Promise<void>; setCustomStadium(stadiumFileContents: string): Promise<boolean>; setDefaultStadium(stadiumName: DefaultStadium): Promise<void>; setTeamsLock(locked: boolean): Promise<void>; setTeamColors(team: TeamID, angle: number, textColor: number, colors: number[]): Promise<void>; startGame(): Promise<void>; stopGame(): Promise<void>; pauseGame(pauseState: boolean): Promise<void>; getPlayer(playerId: number): Promise<Player | null>; getPlayerList(): Promise<Player[]>; getScores(): Promise<Scores | null>; getBallPosition(): Promise<Position | null>; startRecording(): Promise<void>; stopRecording(): Promise<Uint8Array | null>; setPassword(password: string | null): Promise<void>; setRequireRecaptcha(required: boolean): Promise<void>; reorderPlayers(playerIdList: number[], moveToTop: boolean): Promise<void>; sendAnnouncement(msg: string, targetId?: number | null, color?: number | null, style?: AnnounceStyle | null, sound?: number | null): Promise<void>; setKickRateLimit(min: number, rate: number, burst: number): Promise<void>; setPlayerAvatar(playerId: number, avatar: string | null): Promise<void>; setDiscProperties(discIndex: number, properties: Partial<DiscProperties>): Promise<void>; getDiscProperties(discIndex: number): Promise<DiscProperties | null>; setPlayerDiscProperties(playerId: number, properties: Partial<DiscProperties>): Promise<void>; getPlayerDiscProperties(playerId: number): Promise<DiscProperties | null>; getDiscCount(): Promise<number>; CollisionFlags: CollisionFlags; onPlayerJoin?(player: Player): void; onPlayerLeave?(player: Player): void; onTeamVictory?(scores: Scores): void; onPlayerChat?(player: Player, message: string): void; onPlayerBallKick?(player: Player): void; onTeamGoal?(team: TeamID): void; onGameStart?(byPlayer: Player | null): void; onGameStop?(byPlayer: Player | null): void; onPlayerAdminChange?(changedPlayer: Player, byPlayer: Player | null): void; onPlayerTeamChange?(changedPlayer: Player, byPlayer: Player | null): void; onPlayerKicked?(kickedPlayer: Player, reason: string, ban: boolean, byPlayer: Player | null): void; onGameTick?(): void; onGamePause?(byPlayer: Player | null): void; onGameUnpause?(byPlayer: Player | null): void; onPositionsReset?(): void; onPlayerActivity?(player: Player): void; onStadiumChange?(newStadiumName: string, byPlayer: Player | null): void; onRoomLink?(url: string): void; onKickRateLimitSet?(min: number, rate: number, burst: number, byPlayer: Player | null): void; }