39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { loggerScripts } from '/Scripts/compiler/host_access'
|
|
import { Client, NamespaceClient } from '/Scripts/client/client'
|
|
import { HookManager } from '/Scripts/engine/hooks/hook-manager'
|
|
import { SceneLoader } from '/Scripts/engine/scene/scene-loader'
|
|
import { Engine } from '/Scripts/types/engine'
|
|
import { clientHooks } from '/Scripts/client/clienthooks'
|
|
import { ChunkGeneratorManager } from '/Scripts/server/chunk/chunkgeneratormanager'
|
|
|
|
/**
|
|
* The core engine values
|
|
*/
|
|
export const engine: Engine = {
|
|
classes: {},
|
|
singletons: {},
|
|
hookManager: new HookManager(),
|
|
sceneLoader: new SceneLoader(),
|
|
chunkGeneratorManager: new ChunkGeneratorManager(),
|
|
}
|
|
|
|
/**
|
|
* Called when the script engine first initializes
|
|
*/
|
|
export const ENGINE_onInit = () => {
|
|
loggerScripts.INFO('Script Engine Beginning Initialization')
|
|
|
|
//load namespaces
|
|
let client: NamespaceClient = Client
|
|
engine.sceneLoader.engine = engine
|
|
engine.hookManager.engine = engine
|
|
engine.chunkGeneratorManager.engine = engine
|
|
|
|
//load global hooks
|
|
clientHooks.forEach(hook => {
|
|
engine.hookManager.registerGlobalHook(hook,false)
|
|
})
|
|
|
|
loggerScripts.INFO('Script Engine Initialized')
|
|
}
|