Renderer/assets/Scripts/client/clienthooks.ts
austin 279c7e3f38
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
room tool work
2025-05-15 17:08:54 -04:00

76 lines
1.9 KiB
TypeScript

import { clientUIButtonHook } from "/Scripts/client/uihooks";
import { Engine } from "/Scripts/types/engine";
import { Hook } from "/Scripts/types/hook";
/**
* The client-wide hooks
*/
export const clientHooks: Hook[] = [
{
signal: "OPEN_VOXEL",
callback: (engine: Engine) => {
engine.classes.menuUtils.static.openVoxel()
}
},
{
signal: "ADD_VOXEL",
callback: (engine: Engine) => {
engine.classes.voxelUtils.static.applyEdit()
}
},
{
signal: "OPEN_SPAWN_SELECT",
callback: (engine: Engine) => {
engine.classes.menuUtils.static.openSpawnSelection()
}
},
{
signal: "LEVEL_EDIT_SPAWN",
callback: (engine: Engine) => {
engine.classes.levelEditorUtils.static.spawnEntity()
}
},
{
signal: "INSPECTOR",
callback: (engine: Engine) => {
engine.classes.levelEditorUtils.static.inspectEntity()
}
},
{
signal: "SPAWN_WATER",
callback: (engine: Engine) => {
engine.classes.voxelUtils.static.spawnWater()
}
},
{
signal: "DIG",
callback: (engine: Engine) => {
engine.classes.voxelUtils.static.dig()
}
},
{
signal: "SELECT_FAB",
callback: (engine: Engine) => {
engine.classes.menuUtils.static.openFabSelection()
}
},
{
signal: "PLACE_FAB",
callback: (engine: Engine) => {
engine.classes.voxelUtils.static.placeFab()
}
},
{
signal: "ROOM_TOOL_ACTION",
callback: (engine: Engine) => {
engine.classes.areaUtils.static.selectAreaRectangular()
}
},
{
signal: "ROOM_TOOL_MENU",
callback: (engine: Engine) => {
engine.classes.menuUtils.static.openDialog('Data/menu/room/roomToolConfig.html')
}
},
clientUIButtonHook,
]