spacesvr-websessions
Version:
A standardized reality for future of the 3D Web
34 lines (33 loc) • 874 B
TypeScript
import { ReactNode } from "react";
import { Raycaster, Vector3 } from "three";
declare type PlayerVec = {
set: (vec: Vector3) => void;
get: () => Vector3;
};
declare type PlayerControls = {
lock: () => void;
unlock: () => void;
isLocked: () => boolean;
};
declare type PlayerState = {
position: PlayerVec;
velocity: PlayerVec;
controls: PlayerControls;
raycaster: Raycaster;
};
export declare const PlayerContext: import("react").Context<PlayerState>;
export declare const usePlayer: () => PlayerState;
export declare type PlayerProps = {
pos?: number[];
rot?: number;
speed?: number;
flying?: boolean;
controls?: {
disableGyro?: boolean;
};
};
declare type PlayerLayer = {
children: ReactNode[] | ReactNode;
} & PlayerProps;
export declare function Player(props: PlayerLayer): JSX.Element;
export {};