30 lines
989 B
JavaScript
30 lines
989 B
JavaScript
|
|
import { DataModel } from "./core/DataModel.js";
|
||
|
|
import * as THREE from "three";
|
||
|
|
import { NetworkService } from "./instances/NetworkService.js";
|
||
|
|
import { ReplicatorService } from "./instances/ReplicatorService.js";
|
||
|
|
import { RenderService } from "./instances/RenderService.js";
|
||
|
|
import { Workspace } from "./instances/Workspace.js";
|
||
|
|
import { DebugTextService } from "./instances/DebugTextService.js"; // Client-only debug overlay manager
|
||
|
|
|
||
|
|
const dm = new DataModel();
|
||
|
|
dm.SetParent(null); // root
|
||
|
|
|
||
|
|
// Create workspace
|
||
|
|
const ws = new Workspace();
|
||
|
|
ws.SetParent(dm);
|
||
|
|
|
||
|
|
const net = new NetworkService();
|
||
|
|
net.SetParent(dm);
|
||
|
|
net.isServer = false; // client mode
|
||
|
|
await net.connect("ws://localhost:8080"); // connect to server
|
||
|
|
|
||
|
|
const render = new RenderService(dm);
|
||
|
|
render.SetParent(dm);
|
||
|
|
render.start();
|
||
|
|
|
||
|
|
// Start replicator
|
||
|
|
const replication = new ReplicatorService(dm, net); // Automatically parents to dm
|
||
|
|
|
||
|
|
// Create DebugTextService
|
||
|
|
const debugText = new DebugTextService();
|
||
|
|
debugText.SetParent(dm);
|