Valens-AIO/types/controllers/TraderController.d.ts

45 lines
2.2 KiB
TypeScript
Raw Normal View History

2022-07-30 00:35:54 -04:00
import { ProfileHelper } from "../helpers/ProfileHelper";
import { TraderAssortHelper } from "../helpers/TraderAssortHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
2022-08-29 17:07:55 -04:00
import { FenceService } from "../services/FenceService";
2022-07-30 00:35:54 -04:00
import { TraderAssortService } from "../services/TraderAssortService";
import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil";
export declare class TraderController {
protected logger: ILogger;
protected databaseServer: DatabaseServer;
protected traderAssortHelper: TraderAssortHelper;
protected profileHelper: ProfileHelper;
protected traderHelper: TraderHelper;
protected timeUtil: TimeUtil;
protected traderAssortService: TraderAssortService;
2022-08-29 17:07:55 -04:00
protected fenceService: FenceService;
2022-07-30 00:35:54 -04:00
protected jsonUtil: JsonUtil;
2022-08-29 17:07:55 -04:00
constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, fenceService: FenceService, jsonUtil: JsonUtil);
/**
* Runs when onLoad event is fired
* Iterate over traders, ensure an unmolested copy of their assorts is stored in traderAssortService
* Store timestamp of next assort refresh in nextResupply property of traders .base object
*/
2022-07-30 00:35:54 -04:00
load(): void;
/**
* Runs when onUpdate is fired
* If current time is > nextResupply(expire) time of trader, refresh traders assorts and
2022-08-29 17:07:55 -04:00
* Fence is handled slightly differently
* @returns has run
*/
update(): boolean;
/**
* Return an array of all traders
* @param sessionID Session id
* @returns array if ITraderBase objects
*/
2022-07-30 00:35:54 -04:00
getAllTraders(sessionID: string): ITraderBase[];
getTrader(sessionID: string, traderID: string): ITraderBase;
2022-07-30 00:35:54 -04:00
getAssort(sessionId: string, traderId: string): ITraderAssort;
getPurchasesData(sessionID: string, traderID: string): Record<string, IBarterScheme[][]>;
2022-07-30 00:35:54 -04:00
}