///
declare module SANDBOX {
export class GlobalState {
currentScene: BABYLON.Scene;
onSceneLoaded: BABYLON.Observable<{
scene: BABYLON.Scene;
filename: string;
}>;
onError: BABYLON.Observable<{
scene?: BABYLON.Scene | undefined;
message?: string | undefined;
}>;
onEnvironmentChanged: BABYLON.Observable;
onRequestClickInterceptor: BABYLON.Observable;
onClickInterceptorClicked: BABYLON.Observable;
filesInput: BABYLON.FilesInput;
isDebugLayerEnabled: boolean;
showDebugLayer(): void;
hideDebugLayer(): void;
}
}
declare module SANDBOX {
export class LocalStorageHelper {
static ReadLocalStorageValue(key: string, defaultValue: number): number;
}
}
declare module SANDBOX {
export class EnvironmentTools {
static SkyboxPath: string;
static Skyboxes: string[];
static SkyboxesNames: string[];
static LoadSkyboxPathTexture(scene: BABYLON.Scene): BABYLON.HDRCubeTexture | BABYLON.CubeTexture;
static HookWithEnvironmentChange(globalState: GlobalState): void;
}
}
declare module SANDBOX {
interface IRenderingZoneProps {
globalState: GlobalState;
assetUrl?: string;
cameraPosition?: BABYLON.Vector3;
expanded: boolean;
}
export class RenderingZone extends React.Component {
private _currentPluginName;
private _engine;
private _scene;
private _canvas;
constructor(props: IRenderingZoneProps);
initEngine(): void;
prepareCamera(): void;
handleErrors(): void;
prepareLighting(): void;
onSceneLoaded(filename: string): void;
loadAssetFromUrl(): void;
loadAsset(): void;
componentDidMount(): void;
shouldComponentUpdate(nextProps: IRenderingZoneProps): boolean;
render(): JSX.Element;
}
}
declare module SANDBOX {
interface IFooterButtonProps {
globalState: GlobalState;
enabled: boolean;
onClick: () => void;
icon: any;
label: string;
}
export class FooterButton extends React.Component {
render(): JSX.Element | null;
}
}
declare module SANDBOX {
interface IDropUpButtonProps {
globalState: GlobalState;
enabled: boolean;
icon?: any;
label: string;
options: string[];
selectedOption?: string;
onOptionPicked: (option: string) => void;
}
export class DropUpButton extends React.Component {
private _onClickInterceptorClickedObserver;
constructor(props: IDropUpButtonProps);
componentWillUnmount(): void;
switchDropUp(): void;
clickOption(option: string): void;
render(): JSX.Element | null;
}
}
declare module SANDBOX {
interface IFooterFileButtonProps {
globalState: GlobalState;
enabled: boolean;
icon: any;
label: string;
onFilesPicked: (evt: Event, files: FileList | null) => void;
}
export class FooterFileButton extends React.Component {
onFilePicked(evt: React.ChangeEvent): void;
render(): JSX.Element | null;
}
}
declare module SANDBOX {
interface IAnimationBarProps {
globalState: GlobalState;
enabled: boolean;
}
export class AnimationBar extends React.Component {
private _currentScene;
private _sliderSyncObserver;
private _currentGroup;
private _sliderRef;
private _currentPlayingState;
constructor(props: IAnimationBarProps);
getCurrentPosition(): string;
registerBeforeRender(newScene: BABYLON.Scene): void;
pause(): void;
play(): void;
sliderInput(evt: React.FormEvent): void;
render(): JSX.Element | null;
}
}
declare module SANDBOX {
interface IFooterProps {
globalState: GlobalState;
}
export class Footer extends React.Component {
constructor(props: IFooterProps);
showInspector(): void;
render(): JSX.Element;
}
}
declare module SANDBOX {
interface ISandboxProps {
}
export class Sandbox extends React.Component {
private _globalState;
private _assetUrl?;
private _cameraPosition?;
private _logoRef;
private _dropTextRef;
private _clickInterceptorRef;
constructor(props: ISandboxProps);
checkUrl(): void;
componentDidUpdate(): void;
render(): JSX.Element;
static Show(hostElement: HTMLElement): void;
}
}