import type { IPhysics2D } from ".."; import type { IReadonlyGameState } from "./GameState"; import type { Scene } from "./hierarchy_object/Scene"; import { InputHandler } from "./input/InputHandler"; import { Instantiater } from "./Instantiater"; import type { IReadonlyCameraContainer } from "./render/CameraContainer"; import type { IReadonlyGameScreen } from "./render/IReadonlyGameScreen"; import type { WebGLGlobalObject } from "./render/WebGLGlobalObject"; import type { Time } from "./time/Time"; /** * do not drive this class */ export declare class EngineGlobalObject { private readonly _scene; private readonly _cameraContainer; private readonly _time; private readonly _inputHandler; private readonly _instantiater; private readonly _gameState; private readonly _screen; private readonly _physics2DProcessor; private readonly _domElement; private _webGLGlobalObject; private readonly _sceneProcessor; private readonly _coroutineProcessor; private readonly _transformMatrixProcessor; /** * game scene. You can add objects to the scene. */ get scene(): Scene; /** * You can get the camera through the camera container. * * `cameraContainer.camera` value is null until the `onEnable()` message of the camera is called. * * This problem can be solved by placing the components that use the camera at the bottom of the tree rather than the Camera components. */ get cameraContainer(): IReadonlyCameraContainer; /** * game screen. You can get the screen size. */ get screen(): IReadonlyGameScreen; /** * game standard input system. * If possible, use this rather than implementing the input system yourself. */ get input(): InputHandler; /** * time information. * * typically used to get delta time. */ get time(): Time; /** * physics2D related operations. */ get physics(): IPhysics2D; /** * game state. */ get gameState(): IReadonlyGameState; /** * You can instantiate object through instantiater */ get instantiater(): Instantiater; /** * dom element. * * You can use it when you want to receive the event directly from the dom element. */ get domElement(): HTMLElement; /** * webGL object. * * if you not use WebGL, this value is null. */ get webGL(): WebGLGlobalObject | null; }