@vrspace/babylonjs
Version:
vrspace.org babylonjs client
136 lines (135 loc) • 4.89 kB
TypeScript
export class AvatarSelection extends World {
constructor();
/** server to connect to */
serverUrl: any;
/** content base, defaults to VRSPACEUI.contentBase */
contentBase: string;
/** background base dir, null defaults to contentBase+"/content/skybox/mp_drakeq/drakeq" (box)
or "/content/skybox/eso_milkyway/eso0932a.jpg" (panoramic)*/
backgroundPath: any;
/** Is backgroundPath a panoramic image? Default false (directory containing 6 images) */
backgroundPanorama: boolean;
/** character base dir, null defaults to contentBase+'/content/char/' */
characterPath: any;
/** character animation folder, null defaults to contentBase+'/content/rpm-anim/' */
animationPath: any;
/** world base dir, null defaults to contentBase+'/content/worlds' */
worldPath: any;
/** function to call just before entering a world */
beforeEnter: any;
/** function to call after entering a world */
afterEnter: any;
/** function to call after exiting a world */
afterExit: any;
/** whether to list animations after character loads, default true */
showAnimationButtons: boolean;
/** enable oauth2 login form, default true */
enableLogin: boolean;
/** wheter to display own video avatar, default true */
displayOwnVideo: boolean;
/** custom video avatar options, default null */
customOptions: any;
/** movement tracking/animation frames per second */
fps: number;
/** Enable Oauth2 login */
oauth2enabled: boolean;
oauth2providerId: string;
/** default user height, 1.8 m */
userHeight: number;
/** is anonymous entry (guest login) allowed */
anonymousAllowed: boolean;
/** enable plenty of debug info */
debug: boolean;
/** z position of character and animation buttons */
buttonsZ: number;
mirror: boolean;
authenticated: boolean;
customAnimations: any[];
customAvatarFrame: HTMLElement;
trackTime: number;
trackDelay: number;
api: VRSpaceAPI;
tokens: {};
serviceWorker: string;
autoEnter: Portal;
/** @type {HumanoidAvatar} */
character: HumanoidAvatar;
/** @type {VideoAvatar} */
video: VideoAvatar;
createSkyBox(): Promise<any>;
createLights(): Promise<any>;
hemisphere: any;
room: LogoRoom;
hud: DefaultHud;
loginForm: LoginForm;
webpushSubscribe(): void;
checkValidName(): boolean;
backgroundDir(): any;
characterDir(): any;
animationDir(): any;
worldDir(): any;
isSelectableMesh(mesh: any): any;
load(name: any, file: any): void;
calcControllerPos(arm: any, xrController: any): any;
calcControllerRot(arm: any, xrController: any): void;
calcCameraTarget(): any;
listAnimations(): void;
createSelection(selectionCallback: any): void;
selectionCallback: any;
mainButtons: Buttons;
createAvatarSelection(folder: any): Promise<void>;
characterButtons: Buttons;
createVideoAvatar(): Promise<void>;
removeVideoAvatar(): void;
createCustomAvatar(): Promise<void>;
loadCharacterUrl(url: any): Promise<void>;
/**
* @param {ServerFolder} dir
*/
loadCharacter(dir: ServerFolder, file?: string): void;
tracking: boolean;
setMyName(name: any): void;
userName: any;
getMyName(): any;
animationButtons(avatar: any): void;
animationSelection: Buttons;
startAnimation(name: any): void;
addCharacterButtons(): void;
guiManager: any;
resizeButton: any;
mirrorButton: any;
removeCharacterButtons(): void;
/**
* Show portals, typically called from html.
* Sets internal variable this.portals.
*/
showPortals(): void;
portals: {};
/**
* Show portals to public worlds avaliable under content/worlds server directory.
*/
showContentPortals(): void;
showActiveUsers(): void;
portalsEnabled(enable: any): void;
hasAvatar(): boolean;
removePortals(): void;
avatarUrl(defaultUrl?: string): string;
autoEnterPortal(): void;
enterPortal(portal: any): Promise<void>;
/**
* Enter a world.
* TODO quite complex method, order matters. This needs to be moved to a utility method, to allow entering one world from another.
*/
enterWorld(worldUrl: any, worldName: any, avatarUrl?: string, worldScript?: string): Promise<void>;
dispose(): void;
}
import { World } from './js/vrspace-min.js';
import { VRSpaceAPI } from './js/vrspace-min.js';
import { Portal } from './js/vrspace-min.js';
import { HumanoidAvatar } from './js/vrspace-min.js';
import { VideoAvatar } from './js/vrspace-min.js';
import { LogoRoom } from './js/vrspace-min.js';
import { DefaultHud } from './js/vrspace-min.js';
import { LoginForm } from './js/vrspace-min.js';
import { Buttons } from './js/vrspace-min.js';
import { ServerFolder } from './js/vrspace-min.js';