37 lines
1.4 KiB
TypeScript
37 lines
1.4 KiB
TypeScript
import { BotHelper } from "../helpers/BotHelper";
|
|
import { IBotBase } from "../models/eft/common/tables/IBotBase";
|
|
import { ILogger } from "../models/spt/utils/ILogger";
|
|
import { JsonUtil } from "../utils/JsonUtil";
|
|
import { RandomUtil } from "../utils/RandomUtil";
|
|
import { LocalisationService } from "./LocalisationService";
|
|
export declare class BotGenerationCacheService {
|
|
protected logger: ILogger;
|
|
protected randomUtil: RandomUtil;
|
|
protected jsonUtil: JsonUtil;
|
|
protected localisationService: LocalisationService;
|
|
protected botHelper: BotHelper;
|
|
protected storedBots: Map<string, IBotBase[]>;
|
|
constructor(logger: ILogger, randomUtil: RandomUtil, jsonUtil: JsonUtil, localisationService: LocalisationService, botHelper: BotHelper);
|
|
/**
|
|
* Store array of bots in cache, shuffle results before storage
|
|
* @param botsToStore Bots we want to store in the cache
|
|
*/
|
|
storeBots(key: string, botsToStore: IBotBase[]): void;
|
|
/**
|
|
* Find and return a bot based on its role
|
|
* Remove bot from internal array so it can't be retreived again
|
|
* @param key role to retreive (assault/bossTagilla etc)
|
|
* @returns IBotBase object
|
|
*/
|
|
getBot(key: string): IBotBase;
|
|
/**
|
|
* Remove all cached bot profiles
|
|
*/
|
|
clearStoredBots(): void;
|
|
/**
|
|
* Does cache have a bot with requested key
|
|
* @returns false if empty
|
|
*/
|
|
cacheHasBotOfRole(key: string): boolean;
|
|
}
|