2019-12-22 02:40:42 +08:00
|
|
|
import { QuestEditorView } from "./gui/QuestEditorView";
|
|
|
|
import { GuiStore } from "../core/stores/GuiStore";
|
|
|
|
import { QuestEditorStore } from "./stores/QuestEditorStore";
|
|
|
|
import { AsmEditorStore } from "./stores/AsmEditorStore";
|
2019-12-22 05:49:41 +08:00
|
|
|
import { AreaStore } from "./stores/AreaStore";
|
|
|
|
import { AreaAssetLoader } from "./loading/AreaAssetLoader";
|
|
|
|
import { HttpClient } from "../core/HttpClient";
|
|
|
|
import { EntityImageRenderer } from "./rendering/EntityImageRenderer";
|
|
|
|
import { EntityAssetLoader } from "./loading/EntityAssetLoader";
|
2019-12-22 07:43:27 +08:00
|
|
|
import { DisposableThreeRenderer } from "../core/rendering/Renderer";
|
2019-12-22 22:30:16 +08:00
|
|
|
import { QuestEditorUiPersister } from "./persistence/QuestEditorUiPersister";
|
2019-12-22 02:40:42 +08:00
|
|
|
|
2019-12-22 05:49:41 +08:00
|
|
|
export function initialize_quest_editor(
|
|
|
|
http_client: HttpClient,
|
|
|
|
gui_store: GuiStore,
|
2019-12-22 07:43:27 +08:00
|
|
|
create_three_renderer: () => DisposableThreeRenderer,
|
2019-12-22 05:49:41 +08:00
|
|
|
): QuestEditorView {
|
|
|
|
// Asset Loaders
|
|
|
|
const area_asset_loader = new AreaAssetLoader(http_client);
|
|
|
|
const entity_asset_loader = new EntityAssetLoader(http_client);
|
|
|
|
|
|
|
|
// Stores
|
|
|
|
const area_store = new AreaStore(area_asset_loader);
|
|
|
|
const quest_editor_store = new QuestEditorStore(gui_store, area_store);
|
2019-12-22 02:40:42 +08:00
|
|
|
const asm_editor_store = new AsmEditorStore(quest_editor_store);
|
|
|
|
|
2019-12-22 22:30:16 +08:00
|
|
|
// Persisters
|
|
|
|
const quest_editor_ui_persister = new QuestEditorUiPersister();
|
|
|
|
|
2019-12-22 05:49:41 +08:00
|
|
|
// Entity Image Renderer
|
|
|
|
const entity_image_renderer = new EntityImageRenderer(entity_asset_loader);
|
|
|
|
|
|
|
|
// View
|
|
|
|
return new QuestEditorView(
|
|
|
|
gui_store,
|
|
|
|
area_store,
|
|
|
|
quest_editor_store,
|
|
|
|
asm_editor_store,
|
|
|
|
area_asset_loader,
|
|
|
|
entity_asset_loader,
|
|
|
|
entity_image_renderer,
|
2019-12-22 22:30:16 +08:00
|
|
|
quest_editor_ui_persister,
|
2019-12-22 07:43:27 +08:00
|
|
|
create_three_renderer,
|
2019-12-22 05:49:41 +08:00
|
|
|
);
|
2019-12-22 02:40:42 +08:00
|
|
|
}
|