Client Hooks

Client scripts run only on the client side. These hooks are entry points for your client-side game logic.

Lifecycle

start

Runs when the game starts

Signature: action()

public action start() {
    # TODO: Implement
}

update

Runs every game tick

Signature: action(num)

Parameters:

NameTypeDescription
deltanumTime elapsed since last tick
public action update(num delta) {
    # TODO: Implement
}

render

Add rendering logic in here

Signature: action(num)

Parameters:

NameTypeDescription
deltanumTime elapsed since last tick
public action render(num delta) {
    # TODO: Implement
}

Player Events

onPlayerSpawn

Player spawns in

Signature: action(str)

Parameters:

NameTypeDescription
idstrPlayer ID
public action onPlayerSpawn(str id) {
    # TODO: Implement
}

onPlayerDeath

Player died

Signature: action(str, str)

Parameters:

NameTypeDescription
idstrPlayer ID
killerIDstrID of the player who killed
public action onPlayerDeath(str id, str killerID) {
    # TODO: Implement
}

onPlayerUpdate

Player update

Signature: action(str, num, obj)

Parameters:

NameTypeDescription
idstrPlayer ID
deltanumTime elapsed since last tick
inputsobjInput data object
public action onPlayerUpdate(str id, num delta, obj inputs) {
    # TODO: Implement
}

Input Events

onKeyPress

User pressed a key

Signature: action(str, num)

Parameters:

NameTypeDescription
keystrKey pressed
codenumKey code
public action onKeyPress(str key, num code) {
    # TODO: Implement
}

onKeyUp

User released a key

Signature: action(str, num)

Parameters:

NameTypeDescription
keystrKey pressed
codenumKey code
public action onKeyUp(str key, num code) {
    # TODO: Implement
}

onKeyHeld

User held a key

Signature: action(str, num)

Parameters:

NameTypeDescription
keystrKey pressed
codenumKey code
public action onKeyHeld(str key, num code) {
    # TODO: Implement
}

onControllerPress

User pressed a button on a controller

Signature: action(str, num)

Parameters:

NameTypeDescription
keystrKey pressed
codenumKey code
public action onControllerPress(str key, num code) {
    # TODO: Implement
}

onControllerUp

User released a button on a controller

Signature: action(str, num)

Parameters:

NameTypeDescription
keystrKey pressed
codenumKey code
public action onControllerUp(str key, num code) {
    # TODO: Implement
}

onControllerHeld

User held a button on a controller

Signature: action(str, num)

Parameters:

NameTypeDescription
keystrKey pressed
codenumKey code
public action onControllerHeld(str key, num code) {
    # TODO: Implement
}

onMouseClick

User clicked on screen

Signature: action(num, num, num)

Parameters:

NameTypeDescription
buttonnumMouse button pressed
xnumX coordinate
ynumY coordinate
public action onMouseClick(num button, num x, num y) {
    # TODO: Implement
}

onMouseUp

User released clicked on screen

Signature: action(num, num, num)

Parameters:

NameTypeDescription
buttonnumMouse button pressed
xnumX coordinate
ynumY coordinate
public action onMouseUp(num button, num x, num y) {
    # TODO: Implement
}

onMouseScroll

User scrolled on screen

Signature: action(num)

Parameters:

NameTypeDescription
dirnumDirection
public action onMouseScroll(num dir) {
    # TODO: Implement
}

onDIVClicked

User clicked a DIV (ID)

Signature: action(str)

Parameters:

NameTypeDescription
idstrPlayer ID
public action onDIVClicked(str id) {
    # TODO: Implement
}

Network Events

onNetworkMessage

Client receives network message

Signature: action(str, obj)

Parameters:

NameTypeDescription
idstrPlayer ID
dataobjNo description available
public action onNetworkMessage(str id, obj data) {
    # TODO: Implement
}