2024-08-05 20:33:00 +10:00

39 lines
2.2 KiB
TypeScript

import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { ISetMagazineRequest } from "@spt/models/eft/builds/ISetMagazineRequest";
import { IPresetBuildActionRequestData } from "@spt/models/eft/presetBuild/IPresetBuildActionRequestData";
import { IRemoveBuildRequestData } from "@spt/models/eft/presetBuild/IRemoveBuildRequestData";
import { IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
import { SaveServer } from "@spt/servers/SaveServer";
import { DatabaseService } from "@spt/services/DatabaseService";
import { LocalisationService } from "@spt/services/LocalisationService";
import { HashUtil } from "@spt/utils/HashUtil";
import { ICloner } from "@spt/utils/cloners/ICloner";
export declare class BuildController {
protected logger: ILogger;
protected hashUtil: HashUtil;
protected eventOutputHolder: EventOutputHolder;
protected databaseService: DatabaseService;
protected profileHelper: ProfileHelper;
protected localisationService: LocalisationService;
protected itemHelper: ItemHelper;
protected saveServer: SaveServer;
protected cloner: ICloner;
constructor(logger: ILogger, hashUtil: HashUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, profileHelper: ProfileHelper, localisationService: LocalisationService, itemHelper: ItemHelper, saveServer: SaveServer, cloner: ICloner);
/** Handle client/handbook/builds/my/list */
getUserBuilds(sessionID: string): IUserBuilds;
/** Handle client/builds/weapon/save */
saveWeaponBuild(sessionId: string, body: IPresetBuildActionRequestData): void;
/** Handle client/builds/equipment/save event */
saveEquipmentBuild(sessionID: string, request: IPresetBuildActionRequestData): void;
/** Handle client/builds/delete */
removeBuild(sessionID: string, request: IRemoveBuildRequestData): void;
protected removePlayerBuild(idToRemove: string, sessionID: string): void;
/**
* Handle client/builds/magazine/save
*/
createMagazineTemplate(sessionId: string, request: ISetMagazineRequest): void;
}