0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:10:43 -05:00

Changes to get closer to main menu

This commit is contained in:
Dev 2023-12-27 20:19:17 +00:00
parent 01127d651e
commit b6813141fd
5 changed files with 69 additions and 59 deletions

View File

@ -1,12 +1,16 @@
import { BuildController } from "@spt-aki/controllers/BuildController";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { inject, injectable } from "tsyringe";
import { IUserBuilds } from "x:/SPTDev/ChompServer/project/src/models/eft/profile/IAkiProfile";
@injectable()
export class BuildsCallbacks
{
constructor(
@inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil,
@inject("BuildController") protected buildController: BuildController,
)
{}
@ -15,9 +19,9 @@ export class BuildsCallbacks
*
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public getBuilds(url: string, info: IEmptyRequestData, sessionID: string): any
public getBuilds(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IUserBuilds>
{
throw new Error("Not implemented");
return this.httpResponse.getBody(this.buildController.getUserBuilds(sessionID));
}
/**
@ -37,7 +41,7 @@ export class BuildsCallbacks
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public setWeapon(url: string, info: IEmptyRequestData, sessionID: string): any
{
throw new Error("Not implemented");
//this.httpResponse.getBody(this.buildController.saveWeaponBuild(sessionID, info));
}
/**

View File

@ -1,6 +1,6 @@
import { inject, injectable } from "tsyringe";
import { PresetBuildController } from "@spt-aki/controllers/PresetBuildController";
import { BuildController } from "@spt-aki/controllers/BuildController";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IPmcData } from "@spt-aki/models/eft/common/IPmcData";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
@ -15,63 +15,63 @@ export class PresetBuildCallbacks
{
constructor(
@inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil,
@inject("PresetBuildController") protected presetBuildController: PresetBuildController,
//@inject("PresetBuildController") protected presetBuildController: BuildController,
)
{}
/** Handle client/handbook/builds/my/list */
public getHandbookUserlist(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IUserBuilds>
{
return this.httpResponse.getBody(this.presetBuildController.getUserBuilds(sessionID));
}
// /** Handle client/handbook/builds/my/list */
// public getHandbookUserlist(
// url: string,
// info: IEmptyRequestData,
// sessionID: string,
// ): IGetBodyResponseData<IUserBuilds>
// {
// return this.httpResponse.getBody(this.presetBuildController.getUserBuilds(sessionID));
// }
/** Handle SaveWeaponBuild event */
public saveWeaponBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse
{
return this.presetBuildController.saveWeaponBuild(pmcData, body, sessionID);
}
// /** Handle SaveWeaponBuild event */
// public saveWeaponBuild(
// pmcData: IPmcData,
// body: IPresetBuildActionRequestData,
// sessionID: string,
// ): IItemEventRouterResponse
// {
// return this.presetBuildController.saveWeaponBuild(pmcData, body, sessionID);
// }
/** Handle removeBuild event*/
public removeBuild(pmcData: IPmcData, body: IRemoveBuildRequestData, sessionID: string): IItemEventRouterResponse
{
return this.presetBuildController.removeBuild(pmcData, body, sessionID);
}
// /** Handle removeBuild event*/
// public removeBuild(pmcData: IPmcData, body: IRemoveBuildRequestData, sessionID: string): IItemEventRouterResponse
// {
// return this.presetBuildController.removeBuild(pmcData, body, sessionID);
// }
/** Handle RemoveWeaponBuild event*/
public removeWeaponBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse
{
return this.presetBuildController.removeWeaponBuild(pmcData, body, sessionID);
}
// /** Handle RemoveWeaponBuild event*/
// public removeWeaponBuild(
// pmcData: IPmcData,
// body: IPresetBuildActionRequestData,
// sessionID: string,
// ): IItemEventRouterResponse
// {
// return this.presetBuildController.removeWeaponBuild(pmcData, body, sessionID);
// }
/** Handle SaveEquipmentBuild event */
public saveEquipmentBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse
{
return this.presetBuildController.saveEquipmentBuild(pmcData, body, sessionID);
}
// /** Handle SaveEquipmentBuild event */
// public saveEquipmentBuild(
// pmcData: IPmcData,
// body: IPresetBuildActionRequestData,
// sessionID: string,
// ): IItemEventRouterResponse
// {
// return this.presetBuildController.saveEquipmentBuild(pmcData, body, sessionID);
// }
/** Handle RemoveEquipmentBuild event*/
public removeEquipmentBuild(
pmcData: IPmcData,
body: IPresetBuildActionRequestData,
sessionID: string,
): IItemEventRouterResponse
{
return this.presetBuildController.removeEquipmentBuild(pmcData, body, sessionID);
}
// /** Handle RemoveEquipmentBuild event*/
// public removeEquipmentBuild(
// pmcData: IPmcData,
// body: IPresetBuildActionRequestData,
// sessionID: string,
// ): IItemEventRouterResponse
// {
// return this.presetBuildController.removeEquipmentBuild(pmcData, body, sessionID);
// }
}

View File

@ -14,7 +14,7 @@ import { HashUtil } from "@spt-aki/utils/HashUtil";
import { JsonUtil } from "@spt-aki/utils/JsonUtil";
@injectable()
export class PresetBuildController
export class BuildController
{
constructor(
@inject("WinstonLogger") protected logger: ILogger,
@ -33,7 +33,7 @@ export class PresetBuildController
const profile = this.saveServer.getProfile(sessionID);
if (!profile.userbuilds)
{
profile.userbuilds = { equipmentBuilds: [], weaponBuilds: [] };
profile.userbuilds = { equipmentBuilds: [], weaponBuilds: [], magazineBuilds: [] };
}
// Ensure the secure container in the default presets match what the player has equipped

View File

@ -37,6 +37,7 @@ import { WishlistCallbacks } from "@spt-aki/callbacks/WishlistCallbacks";
import { ApplicationContext } from "@spt-aki/context/ApplicationContext";
import { AchievementController } from "@spt-aki/controllers/AchievementController";
import { BotController } from "@spt-aki/controllers/BotController";
import { BuildController } from "@spt-aki/controllers/BuildController";
import { ClientLogController } from "@spt-aki/controllers/ClientLogController";
import { CustomizationController } from "@spt-aki/controllers/CustomizationController";
import { DialogueController } from "@spt-aki/controllers/DialogueController";
@ -52,7 +53,6 @@ import { LocationController } from "@spt-aki/controllers/LocationController";
import { MatchController } from "@spt-aki/controllers/MatchController";
import { NoteController } from "@spt-aki/controllers/NoteController";
import { NotifierController } from "@spt-aki/controllers/NotifierController";
import { PresetBuildController } from "@spt-aki/controllers/PresetBuildController";
import { PresetController } from "@spt-aki/controllers/PresetController";
import { ProfileController } from "@spt-aki/controllers/ProfileController";
import { QuestController } from "@spt-aki/controllers/QuestController";
@ -779,7 +779,7 @@ export class Container
depContainer.register<MatchController>("MatchController", MatchController);
depContainer.register<NoteController>("NoteController", { useClass: NoteController });
depContainer.register<NotifierController>("NotifierController", { useClass: NotifierController });
depContainer.register<PresetBuildController>("PresetBuildController", { useClass: PresetBuildController });
depContainer.register<BuildController>("BuildController", { useClass: BuildController });
depContainer.register<PresetController>("PresetController", { useClass: PresetController });
depContainer.register<ProfileController>("ProfileController", { useClass: ProfileController });
depContainer.register<QuestController>("QuestController", { useClass: QuestController });

View File

@ -47,6 +47,7 @@ export interface IUserBuilds
{
weaponBuilds: IWeaponBuild[];
equipmentBuilds: IEquipmentBuild[];
magazineBuilds: IMagazineBuild[]
}
export interface IWeaponBuild
@ -69,6 +70,11 @@ export interface IEquipmentBuild
buildType: EquipmentBuildType;
}
export interface IMagazineBuild
{
}
export interface Dialogue
{
attachmentsNew: number;