@megavr/ecsy-babylon
Version:
babylon.js ecsy binding and helpers
45 lines (44 loc) • 1.26 kB
JavaScript
import { getWorld } from "./worldUtils";
import { GameSystem } from "../systems/GameSystem";
import { Scene } from "../components/Scene";
/** @hidden */
export function getSystem(self, target) {
return getWorld(self).getSystem(target);
}
/**
* @hidden
* Get canvas used for rendering.
* @param system A registered ecsy System class
*/
export function getRenderingCanvas(system) {
return getSystem(system, GameSystem).renderingCanvas;
}
/**
* @hidden
* Get all scenes in engine.
* @param system A registered ecsy System class
*/
export function getScenes(system) {
return getSystem(system, GameSystem).scenes;
}
/**
* Get a scene or return active scene.
* @param system A registered ecsy System class
* @param scene Scene entity
*/
export function getScene(system, scene) {
if (scene) {
return scene.getComponent(Scene).object;
}
else {
return getSystem(system, GameSystem).activeScene;
}
}
/**
* Get scene AssetManager or return AssetManager in active scene.
* @param system A registered ecsy System class
* @param scene Scene entity
*/
export function getAssetManager(system, scene) {
return getSystem(system, GameSystem).getAssetManager(scene);
}