ClearVision/types/controllers/CustomizationController.d.ts

50 lines
2.7 KiB
TypeScript
Raw Normal View History

2022-07-09 16:03:26 -04:00
import { ProfileHelper } from "../helpers/ProfileHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { ISuit } from "../models/eft/common/tables/ITrader";
2023-05-18 15:57:25 -04:00
import { ClothingItem, IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
2022-07-09 16:03:26 -04:00
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ILogger } from "../models/spt/utils/ILogger";
2022-11-20 14:59:15 -05:00
import { EventOutputHolder } from "../routers/EventOutputHolder";
2022-07-09 16:03:26 -04:00
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
2023-05-18 15:57:25 -04:00
import { LocalisationService } from "../services/LocalisationService";
2022-07-09 16:03:26 -04:00
export declare class CustomizationController {
protected logger: ILogger;
2022-11-20 14:59:15 -05:00
protected eventOutputHolder: EventOutputHolder;
2022-07-09 16:03:26 -04:00
protected databaseServer: DatabaseServer;
protected saveServer: SaveServer;
2023-05-18 15:57:25 -04:00
protected localisationService: LocalisationService;
2022-07-09 16:03:26 -04:00
protected profileHelper: ProfileHelper;
2023-05-18 15:57:25 -04:00
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, databaseServer: DatabaseServer, saveServer: SaveServer, localisationService: LocalisationService, profileHelper: ProfileHelper);
2022-07-09 16:03:26 -04:00
getTraderSuits(traderID: string, sessionID: string): ISuit[];
2023-05-18 15:57:25 -04:00
wearClothing(pmcData: IPmcData, wearClothingRequest: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse;
buyClothing(pmcData: IPmcData, buyClothingRequest: IBuyClothingRequestData, sessionId: string): IItemEventRouterResponse;
protected getTraderClothingOffer(sessionId: string, offerId: string): ISuit;
/**
* Has an outfit been purchased by a player
* @param suitId clothing id
* @param sessionID Session id
* @returns true/false
*/
protected outfitAlreadyPurchased(suitId: string, sessionID: string): boolean;
/**
* Update output object and player profile with purchase details
* @param sessionId Session id
* @param pmcData Player profile
* @param clothingItems Clothing purchased
* @param output Client response
*/
protected payForClothingItems(sessionId: string, pmcData: IPmcData, clothingItems: ClothingItem[], output: IItemEventRouterResponse): void;
/**
* Update output object and player profile with purchase details for single piece of clothing
* @param sessionId Session id
* @param pmcData Player profile
* @param clothingItem Clothing item purchased
* @param output Client response
* @returns
*/
protected payForClothingItem(sessionId: string, pmcData: IPmcData, clothingItem: ClothingItem, output: IItemEventRouterResponse): void;
2022-07-09 16:03:26 -04:00
protected getAllTraderSuits(sessionID: string): ISuit[];
}