ClearVision/types/controllers/LocationController.d.ts

55 lines
2.7 KiB
TypeScript
Raw Normal View History

2022-07-09 16:03:26 -04:00
import { LocationGenerator } from "../generators/LocationGenerator";
2022-10-06 23:29:01 -04:00
import { LootGenerator } from "../generators/LootGenerator";
2023-05-18 15:57:25 -04:00
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
2022-07-09 16:03:26 -04:00
import { ILocationBase } from "../models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
2023-05-18 15:57:25 -04:00
import { AirdropTypeEnum } from "../models/enums/AirdropType";
2022-10-06 23:29:01 -04:00
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
import { LootItem } from "../models/spt/services/LootItem";
2023-05-18 15:57:25 -04:00
import { LootRequest } from "../models/spt/services/LootRequest";
2022-07-09 16:03:26 -04:00
import { ILogger } from "../models/spt/utils/ILogger";
2022-10-06 23:29:01 -04:00
import { ConfigServer } from "../servers/ConfigServer";
2022-07-09 16:03:26 -04:00
import { DatabaseServer } from "../servers/DatabaseServer";
2022-11-20 14:59:15 -05:00
import { LocalisationService } from "../services/LocalisationService";
2022-10-06 23:29:01 -04:00
import { HashUtil } from "../utils/HashUtil";
2022-07-09 16:03:26 -04:00
import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil";
export declare class LocationController {
protected jsonUtil: JsonUtil;
2022-10-06 23:29:01 -04:00
protected hashUtil: HashUtil;
2023-05-18 15:57:25 -04:00
protected weightedRandomHelper: WeightedRandomHelper;
2022-07-09 16:03:26 -04:00
protected logger: ILogger;
protected locationGenerator: LocationGenerator;
2022-11-20 14:59:15 -05:00
protected localisationService: LocalisationService;
2022-10-06 23:29:01 -04:00
protected lootGenerator: LootGenerator;
2022-07-09 16:03:26 -04:00
protected databaseServer: DatabaseServer;
protected timeUtil: TimeUtil;
2022-10-06 23:29:01 -04:00
protected configServer: ConfigServer;
protected airdropConfig: IAirdropConfig;
2023-05-18 15:57:25 -04:00
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer);
2022-07-09 16:03:26 -04:00
get(location: string): ILocationBase;
generate(name: string): ILocationBase;
2023-05-18 15:57:25 -04:00
/**
* Get all maps base location properties without loot data
* @returns ILocationsGenerateAllResponse
*/
2022-07-09 16:03:26 -04:00
generateAll(): ILocationsGenerateAllResponse;
2022-10-06 23:29:01 -04:00
/**
* Get loot for an airdop container
* Generates it randomly based on config/airdrop.json values
2023-05-18 15:57:25 -04:00
* @returns Array of LootItem objects
2022-10-06 23:29:01 -04:00
*/
getAirdropLoot(): LootItem[];
2023-05-18 15:57:25 -04:00
/**
* Randomly pick a type of airdrop loot using weighted values from config
* @returns airdrop type value
*/
protected chooseAirdropType(): AirdropTypeEnum;
/**
* Get the configuration for a specific type of airdrop
* @param airdropType Type of airdrop to get settings for
* @returns LootRequest
*/
protected getAirdropLootConfigByType(airdropType: AirdropTypeEnum): LootRequest;
2022-07-09 16:03:26 -04:00
}