UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

54 lines (53 loc) 1.59 kB
import { Object3D } from 'three'; import { Vector3 } from 'three'; import { Line3 } from 'three'; import { MeshWithBVH } from '../../core/geometry/bvh/three-mesh-bvh'; import { CapsuleOptions } from './CapsuleGeometry'; export interface CorePlayerOptions { object: Object3D; collider: MeshWithBVH; } type ResetRequiredCallback = () => boolean; export declare class CorePlayer { private _pressed; private _onGround; private _velocity; readonly capsuleInfo: { radius: number; segment: Line3; }; object: Object3D; collider: MeshWithBVH; startPosition: Vector3; startRotation: Vector3; jumpAllowed: boolean; jumpStrength: number; runAllowed: boolean; runSpeedMult: number; private _running; speed: number; physicsSteps: number; gravity: Vector3; private _azimuthalAngle; private _resetYMax; private _resetRequiredCallback; constructor(options: CorePlayerOptions); setOptions(options: CorePlayerOptions): void; private _setObject; setCollider(collider: MeshWithBVH): void; setCapsule(capsuleOptions: CapsuleOptions): void; reset(): void; stop(): void; setResetRequiredCallback(callback: ResetRequiredCallback): void; setAzimuthalAngle(angle: number): void; update(delta: number): void; private _updateStep; setForward(state: boolean): void; setBackward(state: boolean): void; setLeft(state: boolean): void; setRight(state: boolean): void; jump(): void; setRun(state: boolean): void; running(): boolean; } export {};