prendy
Version:
Make games with prerendered backdrops using babylonjs and repond
33 lines (32 loc) • 1.16 kB
JavaScript
export default function players(prendyAssets) {
const { prendyOptions } = prendyAssets;
const getDefaultState = () => ({
// player input stuff
lastSafeInputAngle: 0,
inputVelocity: { x: 0, y: 0 },
isJumping: false,
isOnGround: true,
canJump: true,
interactButtonPressTime: Date.now(),
jumpButtonPressTime: Date.now(),
jumpButtonReleaseTime: Date.now(),
pickupButtonPressTime: Date.now(),
//
virtualControlsPressTime: Date.now(),
virtualControlsReleaseTime: Date.now(),
canShowVirtualButtons: false,
//
animationNames: {
walking: prendyOptions.playerAnimations.walking,
idle: prendyOptions.playerAnimations.idle,
}, // maybe typed somehow, from player character?
});
const getDefaultRefs = () => ({
topWalkSpeed: prendyOptions.walkSpeed,
canJumpTimeout: null,
canShowVirtualButtonsTimeout: null,
canHideVirtualButtonsTimeout: null,
});
const startStates = { main: getDefaultState() };
return { startStates, getDefaultState, getDefaultRefs };
}