@vrspace/babylonjs
Version:
vrspace.org babylonjs client
115 lines (114 loc) • 3.45 kB
TypeScript
/**
* Chat log with TextArea and TextAreaInput, attached by to HUD.
* By default alligned to left side of the screen.
*/
export class ChatLog extends TextArea {
static instanceCount: number;
static instances: {};
/** @type {ChatLog} */
static activeInstance: ChatLog;
static instanceId(name: any, title: any): string;
/**
* @param {string} title
* @param {string} [name="ChatLog"]
* @return {ChatLog}
*/
static findInstance(title: string, name?: string): ChatLog;
/**
* @param {*} scene
* @param {string} title
* @param {string} [name="ChatLog"]
* @return {ChatLog}
*/
static getInstance(scene: any, title?: string, name?: string): ChatLog;
constructor(scene: any, title: any, name?: string);
input: ChatLogInput;
inputPrefix: string;
showLinks: boolean;
minimizeInput: boolean;
minimizeTitle: boolean;
autoHide: boolean;
baseAnchor: number;
verticalAnchor: number;
anchor: number;
linkStack: LinkStack;
listeners: any[];
instanceId(): string;
resizeHandler: () => void;
/**
* Log something written by someone.
* @param {String} who who wrote that
* @param {String} what what they wrote
* @param {object} link metadata of the link
*/
log(who: string, what: string, link: object, local: any): void;
/**
* Move to left side of the screen
*/
leftSide(): void;
/**
* Move to right side of the screen
*/
rightSide(): void;
/**
* Move either left or right, whatever is the current anchor
*/
moveToAnchor(): void;
/**
* Handle window resize, recalculates the current anchor and positions appropriatelly.
*/
handleResize(): void;
hasLink(line: any): boolean;
processLinks(line: any): void;
showLink(word: any, enterWorld: any, local: any): void;
setActiveInstance(): void;
clearActiveInstance(): void;
notifyListeners(text: any, data: any): void;
/**
* Add a listener to be called when input text is changed
*/
addListener(listener: any): void;
/** Remove a listener */
removeListener(listener: any): void;
}
import { TextArea } from './text-area.js';
declare class ChatLogInput extends TextAreaInput {
inputFocused(input: any, focused: any): void;
}
declare class LinkStack {
/** @type {ServerCapabilities} */
static serverCapablities: ServerCapabilities;
constructor(scene: any, parent: any, position: any, scaling?: any);
scene: any;
parent: any;
scaling: any;
position: any;
capacity: number;
links: any[];
meshes: any[];
clickHandler: any;
addLink(word: any, enterWorld: any, local: any): Link;
addButton(link: any, name: any, callback: any): void;
/** @param {Link} link */
clicked(link: Link): Promise<void>;
openBrowser(url: any): void;
browser: RemoteBrowser;
scroll(): void;
dispose(): void;
isSelectableMesh(mesh: any): any;
}
import { TextAreaInput } from './text-area-input.js';
declare class Link {
constructor(text: any, enterWorld?: boolean);
url: any;
enterWorld: boolean;
site: any;
label: any;
buttons: any[];
openHere(local: any): void;
openTab(): void;
dispose(): void;
}
import { RemoteBrowser } from './remote-browser.js';
import { ServerCapabilities } from '../../client/openapi/model/ServerCapabilities.js';
export {};