mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-07-26 22:24:36 +02:00
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { EngineControllerBase } from './EngineControllerBase.js';
|
|
import type { WorldEngine } from './engine.js';
|
|
|
|
export type WorldEngineControllerOptions = {
|
|
workerMode?: boolean;
|
|
graphicsQuality: number;
|
|
fps: number | null;
|
|
resolution: number;
|
|
antialias: boolean;
|
|
};
|
|
|
|
// 抽象化レイヤー
|
|
export class WorldEngineController extends EngineControllerBase<WorldEngine> {
|
|
constructor(options: WorldEngineControllerOptions) {
|
|
super({
|
|
...options,
|
|
});
|
|
}
|
|
|
|
public async init(canvas: HTMLCanvasElement) {
|
|
/*
|
|
await this._init_(canvas, {
|
|
createWorker: (offscreen) => new Promise((resolve) => {
|
|
import('./worker?worker').then(({ default: WorldEngineWorker }) => {
|
|
const worker = new WorldEngineWorker();
|
|
worker.postMessage({ type: 'init', canvas: offscreen, options: this.options }, [offscreen]);
|
|
resolve(worker);
|
|
});
|
|
}),
|
|
createEngine: (babylonEngine) => new Promise((resolve) => {
|
|
import('./engine.js').then(({ WorldEngine }) => {
|
|
resolve(new WorldEngine({
|
|
engine: babylonEngine,
|
|
...this.options,
|
|
}));
|
|
});
|
|
}),
|
|
});
|
|
*/
|
|
}
|
|
}
|