import { Scene as ThreeScene } from "three/src/Three"; import type { GameObject } from "./GameObject"; import type { GameObjectBuilder } from "./GameObjectBuilder"; import { Transform } from "./Transform"; /** * scene is a container for all game objects * do not drive this class */ export declare class Scene { private readonly _threeScene; /** * add gameObject to scene * @param gameObjectBuilder */ addChildFromBuilder(gameObjectBuilder: GameObjectBuilder): GameObject; /** * foreach children transform * * you must not change length of children array while iterating * @param callback */ foreachChild(callback: (transform: Transform) => void): void; /** * iterate children transfrom * * you must not change length of children array while iterating * @param callback if return false, stop iteration */ iterateChild(callback: (transform: Transform) => boolean): void; get children(): Transform[]; unsafeGetThreeScene(): ThreeScene; }