the-world-engine
Version:
three.js based, unity like game engine for browser
48 lines (46 loc) • 1.21 kB
JavaScript
import { Scene as ThreeScene } from "three/src/Three";
import { Transform } from "./Transform";
export class Scene {
me;
constructor() {
this.me = new ThreeScene;
this.me.matrixAutoUpdate = false;
}
addChildFromBuilder(e) {
const r = e.build(null);
e.processEvent();
return r;
}
foreachChild(e) {
const r = this.me.children;
for (let t = 0, n = r.length; t < n; ++t) {
const n = r[t];
if (n.userData instanceof Transform) {
e(n.userData);
}
}
}
iterateChild(e) {
const r = this.me.children;
for (let t = 0, n = r.length; t < n; ++t) {
const n = r[t];
if (n.userData instanceof Transform) {
if (!e(n.userData)) break;
}
}
}
get children() {
const e = [];
const r = this.me.children;
for (let t = 0, n = r.length; t < n; ++t) {
const n = r[t];
if (n.userData instanceof Transform) {
e.push(n.userData);
}
}
return e;
}
unsafeGetThreeScene() {
return this.me;
}
}