UNPKG

@needle-tools/engine

Version:

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in

50 lines (49 loc) 1.63 kB
import { PlayerView } from "../engine/engine_playerview.js"; import { Camera } from "./Camera.js"; import { Behaviour } from "./Component.js"; export declare enum SpectatorMode { FirstPerson = 0, ThirdPerson = 1 } /** * @category Networking * @group Components */ export declare class SpectatorCamera extends Behaviour { cam: Camera | null; /** when enabled pressing F will send a request to all connected users to follow me, ESC to stop */ useKeys: boolean; private _mode; get mode(): SpectatorMode; set mode(val: SpectatorMode); /** if this user is currently spectating someone else */ get isSpectating(): boolean; isSpectatingUser(userId: string): boolean; isFollowedBy(userId: string): boolean; /** list of other users that are following me */ get followers(): string[]; stopSpectating(): void; private get localId(); /** player view to follow */ set target(target: PlayerView | undefined); get target(): PlayerView | undefined; requestAllFollowMe(): void; private get isSpectatingSelf(); private orbit; private _handler?; private eventSub_WebXRRequestStartEvent; private eventSub_WebXRStartEvent; private eventSub_WebXREndEvent; private _debug?; private _networking; awake(): void; onDestroy(): void; private isSupportedPlatform; onBeforeXR(_evt: any): void; onEnterXR(_evt: any): void; onLeaveXR(_evt: any): void; private followSelf; onAfterRender(): void; private setAvatarFlagsBeforeRender; private resetAvatarFlags; }