Class GameData<RoomType>

Represents a room object containing data about players.

See GameDataEvents for events to listen to.

Type Parameters

Hierarchy

Implements

Methods

  • Returns void

  • Parameters

    Returns void

  • Returns void

  • Parameters

    • delta: number

    Returns void

  • Returns void

  • Parameters

    Returns boolean

  • Add a player to player data.

    Example

    // Get an available player ID and add it to the gamedata.
    const playerId = room.getAvailablePlayerID();
    room.gamedata.add(playerId);

    Parameters

    • playerId: number

      The player ID of the player to add.

    Returns Promise<PlayerInfo<RoomType>>

  • Whether or not this object

    Returns boolean

  • Mark a player's task as complete.

    Example

    // Complete all of a player's tasks.
    for (let i = 0; i < player.playerInfo.tasks.length; i++) {
    room.gamedata.completeTask(player, i);
    }

    Parameters

    • resolvable: PlayerIDResolvable

      The player of the tasks to mark complete.

    • taskIdx: number

      The index of the player's tasks to mark complete.

    Returns void

  • Despawns the component from the room it belongs in.

    Returns void

  • Type Parameters

    • Event extends BasicEvent<Event>

    Parameters

    • event: Event

    Returns Promise<Event>

  • Type Parameters

    • Event extends BasicEvent<Event>

    Parameters

    • event: Event

    Returns Promise<Event>

  • Type Parameters

    • Event extends BasicEvent<Event>

    Parameters

    • event: Event

    Returns Event

  • Type Parameters

    • Event extends BasicEvent<Event> = BasicEvent

    Parameters

    • event: string

    Returns Listener<Event>[]

  • Make the player data dirty and update on the next FixedUpdate.

    Parameters

    Returns void

  • Type Parameters

    • EventName extends "component.spawn" | "component.despawn" | "gamedata.addplayer" | "gamedata.removeplayer" | "gamedata.settasks"

    Parameters

    • event: EventName
    • listener: Listener<GameDataEvents<RoomType>[EventName]>

    Returns void

  • Type Parameters

    • K extends BasicEvent<K>

    Parameters

    • event: string
    • listener: Listener<K>

    Returns void

  • Type Parameters

    • EventName extends "component.spawn" | "component.despawn" | "gamedata.addplayer" | "gamedata.removeplayer" | "gamedata.settasks"

    Parameters

    • event: EventName
    • listener: Listener<GameDataEvents<RoomType>[EventName]>

    Returns (() => void)

      • (): void
      • Returns void

  • Type Parameters

    • K extends BasicEvent<K>

    Parameters

    • event: string
    • listener: Listener<K>

    Returns (() => void)

      • (): void
      • Returns void

  • Type Parameters

    • EventName extends "component.spawn" | "component.despawn" | "gamedata.addplayer" | "gamedata.removeplayer" | "gamedata.settasks"

    Parameters

    • event: EventName
    • listener: Listener<GameDataEvents<RoomType>[EventName]>

    Returns (() => void)

      • (): void
      • Returns void

  • Type Parameters

    • K extends BasicEvent<K>

    Parameters

    • event: string
    • listener: Listener<K>

    Returns (() => void)

      • (): void
      • Returns void

  • Remove player data from the game data.

    Parameters

    Returns Promise<void>

  • Returns void

  • Parameters

    • event: string

    Returns void

  • Resolve some player identifier to a definite player info object.

    Returns

    A definite player info object.

    Parameters

    Returns undefined | PlayerInfo<RoomType>

  • Set the tasks of a player.

    Example

    room.gamedata.setTasks(player, [
    TheSkeldTask.ReactorUnlockManifolds,
    TheSkeldTask.ElectricDownloadData,
    TheSkeldTask.ShieldsPrimeShields,
    TheSkeldTask.NavigationDownloadData
    ]);

    Parameters

    • player: PlayerIDResolvable

      The player to set the tasks of.

    • taskTypes: number[]

      The task types to give to the player, see TaskType.

    Returns Promise<void>

  • Spawn this component if does not exist in the room it belongs in.

    Returns void

  • Type Parameters

    • EventName extends "component.spawn" | "component.despawn" | "gamedata.addplayer" | "gamedata.removeplayer" | "gamedata.settasks"

    Parameters

    • event: EventName

    Returns Promise<GameDataEvents<RoomType>[EventName]>

  • Parameters

    • event: string

    Returns Promise<BasicEvent>

  • Type Parameters

    • EventName extends "component.spawn" | "component.despawn" | "gamedata.addplayer" | "gamedata.removeplayer" | "gamedata.settasks"

    Parameters

    • event: EventName
    • filter: ((ev: GameDataEvents<RoomType>[EventName]) => boolean | Promise<boolean>)
        • (ev: GameDataEvents<RoomType>[EventName]): boolean | Promise<boolean>
        • Parameters

          Returns boolean | Promise<boolean>

    Returns Promise<GameDataEvents<RoomType>[EventName]>

  • Type Parameters

    • K extends BasicEvent<K>

    Parameters

    • event: string
    • filter: ((ev: K) => boolean | Promise<boolean>)
        • (ev: K): boolean | Promise<boolean>
        • Parameters

          • ev: K

          Returns boolean | Promise<boolean>

    Returns Promise<BasicEvent>

Properties

components: Networkable<any, NetworkableEvents<Hostable<any>>, RoomType>[]
dirtyBit: number

The dirty state of this component.

flags: number

Flags for this object, see SpawnFlag.

netId: number

The net ID of this component.

ownerId: number

The ID of the owner of this component.

player?: PlayerData<RoomType>

The player that this component belongs to.

players: Map<number, PlayerInfo<RoomType>>

The players in the game data.

room: RoomType

The room that this component belongs to.

spawnType: SpawnType

The type of object that this component belongs to.

Constructors

Accessors

  • get owner(): RoomType
  • Returns RoomType

Generated using TypeDoc