Appearance
@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?
optionalcanvas:HTMLCanvasElement
Defined in: player.ts:39
hover?
optionalhover:iTestResult
Defined in: player.ts:49
input
input:
Input
Defined in: player.ts:42
lastTime
lastTime:
number
Defined in: player.ts:48
onUpdate()?
optionalonUpdate: (dt) =>void
Defined in: player.ts:53
Parameters
dt
number
Returns
void
renderer?
optionalrenderer:RendererInterface
Defined in: player.ts:40
showGizmos
showGizmos:
boolean=false
Defined in: player.ts:51
videoManager?
optionalvideoManager: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:241
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:225
Parameters
node
Node
class_name?
string
Returns
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:153
Parameters
renderer
RendererInterface
Returns
void
resetHover()
resetHover():
void
Defined in: player.ts:165
Returns
void
sendMouseInteractionToWorld()
sendMouseInteractionToWorld(
e):void
Defined in: player.ts:203
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:161
Start the main loop. Must be called after init.
Returns
void
testMouseHover()
testMouseHover(
x,y,layers):Promise<undefined|iTestResult>
Defined in: player.ts:172
check which node is below the mouse and set some flags
Parameters
x
number
y
number
layers
number = 0xff
Returns
Promise<undefined | iTestResult>