Skip to content

@tmrw-realityos/world


@tmrw-realityos/world / Player

Class: Player

Defined in: player.ts:38

Class in charge of handling the interaction with a World. It contains the main loop and dispatches actions to render, update, etc

Example

This examples demonstrates how to construct a simple player.

ts
import {registerAllComponents} from "./components/index"
const canvas = document.createElement("canvas");
const player = new Player();
// Register components to be available to the world.
// For simplicity, all supported components are registered here.
registerAllComponents();
// Initialize the renderer and bind input events to a canvas
await player.init(canvas);
// Load a world
player.world.load("worldfile.json");
// Start main loop
player.start();

Constructors

Constructor

new Player(assetsPath): Player

Defined in: player.ts:59

Player constructor creates an empty World.

Parameters

assetsPath

string

Base path for assets referenced by relative filename.

Returns

Player

Properties

assetsPath

assetsPath: string = ""

Defined in: player.ts:46


camera

camera: Camera

Defined in: player.ts:45


canvas?

optional canvas: HTMLCanvasElement

Defined in: player.ts:39


hover?

optional hover: iTestResult

Defined in: player.ts:49


input

input: Input

Defined in: player.ts:42


lastTime

lastTime: number

Defined in: player.ts:48


onUpdate()?

optional onUpdate: (dt) => void

Defined in: player.ts:53

Parameters

dt

number

Returns

void


renderer?

optional renderer: RendererInterface

Defined in: player.ts:40


showGizmos

showGizmos: boolean = false

Defined in: player.ts:51


videoManager?

optional videoManager: VideoManager

Defined in: player.ts:41


world

world: World

Defined in: player.ts:44

Methods

destroy()

destroy(): void

Defined in: player.ts:70

Destroys the renderer and removes input events.

Returns

void


executeMethodFromNode()

executeMethodFromNode(node, func_name, data): void

Defined in: player.ts:242

calls anything that could be affected by this node

Parameters

node

Node

func_name

string

data

unknown

Returns

void


getBoundComponents()

getBoundComponents(node, class_name?): BaseComponent[]

Defined in: player.ts:226

Parameters

node

Node

class_name?

string

Returns

BaseComponent[]


init()

init(canvas, engineName): Promise<void>

Defined in: player.ts:80

Initialize the renderer. Must be async for creating a WebGPU device. Sets up input events on the target element.

Parameters

canvas

HTMLCanvasElement

Target element

engineName

string = "charm"

Returns

Promise<void>


loopStep()

loopStep(): void

Defined in: player.ts:112

Returns

void


onRenderGizmos()

onRenderGizmos(renderer): void

Defined in: player.ts:154

Parameters

renderer

RendererInterface

Returns

void


resetHover()

resetHover(): void

Defined in: player.ts:166

Returns

void


sendMouseInteractionToWorld()

sendMouseInteractionToWorld(e): void

Defined in: player.ts:204

Checks object on top of mouse and sends mouse and ray events to the hovered node.

Parameters

e

PointerEvent

pointer event

Returns

void


start()

start(): void

Defined in: player.ts:162

Start the main loop. Must be called after init.

Returns

void


testMouseHover()

testMouseHover(x, y, layers): Promise<undefined | iTestResult>

Defined in: player.ts:173

check which node is below the mouse and set some flags

Parameters

x

number

y

number

layers

number = 0xff

Returns

Promise<undefined | iTestResult>