80 lines
3.5 KiB
TypeScript
80 lines
3.5 KiB
TypeScript
import { DialogueHelper } from "../helpers/DialogueHelper";
|
|
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
|
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
|
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
|
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
|
import { SaveServer } from "../servers/SaveServer";
|
|
import { TimeUtil } from "../utils/TimeUtil";
|
|
export declare class DialogueController {
|
|
protected saveServer: SaveServer;
|
|
protected timeUtil: TimeUtil;
|
|
protected dialogueHelper: DialogueHelper;
|
|
constructor(saveServer: SaveServer, timeUtil: TimeUtil, dialogueHelper: DialogueHelper);
|
|
update(): void;
|
|
getFriendList(sessionID: string): IGetFriendListDataResponse;
|
|
/**
|
|
* Create array holding trader dialogs and mail interactions with player
|
|
* Set the content of the dialogue on the list tab.
|
|
* @param sessionID Session Id
|
|
* @returns array of dialogs
|
|
*/
|
|
generateDialogueList(sessionID: string): DialogueInfo[];
|
|
/**
|
|
* Get the content of a dialogue
|
|
* @param dialogueID Dialog id
|
|
* @param sessionID Session Id
|
|
* @returns DialogueInfo
|
|
*/
|
|
getDialogueInfo(dialogueID: string, sessionID: string): DialogueInfo;
|
|
/**
|
|
* Handle player clicking 'messenger' and seeing all the messages they've recieved
|
|
* Set the content of the dialogue on the details panel, showing all the messages
|
|
* for the specified dialogue.
|
|
* @param dialogueID Dialog id
|
|
* @param sessionID Session id
|
|
* @returns IGetMailDialogViewResponseData object
|
|
*/
|
|
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
|
/**
|
|
* Get a count of messages with attachments from a particular dialog
|
|
* @param sessionID Session id
|
|
* @param dialogueID Dialog id
|
|
* @returns Count of messages with attachments
|
|
*/
|
|
protected getUnreadMessagesWithAttachmentsCount(sessionID: string, dialogueID: string): number;
|
|
/**
|
|
* Does array have messages with uncollected rewards (includes expired rewards)
|
|
* @param messages Messages to check
|
|
* @returns true if uncollected rewards found
|
|
*/
|
|
protected messagesHaveUncollectedRewards(messages: Message[]): boolean;
|
|
removeDialogue(dialogueID: string, sessionID: string): void;
|
|
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
|
|
setRead(dialogueIDs: string[], sessionID: string): void;
|
|
/**
|
|
* Get all uncollected items attached to mail in a particular dialog
|
|
* @param dialogueID Dialog to get mail attachments from
|
|
* @param sessionID Session id
|
|
* @returns
|
|
*/
|
|
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
|
|
/**
|
|
* Get messages from a specific dialog that have items not expired
|
|
* @param sessionId Session id
|
|
* @param dialogueId Dialog to get mail attachments from
|
|
* @returns Message array
|
|
*/
|
|
protected getActiveMessagesFromDialog(sessionId: string, dialogueId: string): Message[];
|
|
/**
|
|
* Return array of messages with uncollected items (includes expired)
|
|
* @param messages Messages to parse
|
|
* @returns messages with items to collect
|
|
*/
|
|
protected getMessagesWithAttachments(messages: Message[]): Message[];
|
|
/**
|
|
* Delete expired items. triggers when updating traders.
|
|
* @param sessionID Session id
|
|
*/
|
|
protected removeExpiredItems(sessionID: string): void;
|
|
}
|