using Core.Models.Eft.Common;
using Core.Models.Eft.Common.Tables;
using Core.Models.Eft.Inventory;
using Core.Models.Eft.Profile;
using Core.Models.Enums;
using Core.Models.Spt.Dialog;
namespace Core.Services;
public class MapMarkerService
{
///
/// Add note to a map item in player inventory
///
/// Player profile
/// Add marker request
/// Item
public Item CreateMarkerOnMap(PmcData pmcData, InventoryCreateMarkerRequestData request)
{
throw new NotImplementedException();
}
///
/// Delete a map marker
///
/// Player profile
/// Delete marker request
/// Item
public Item DeleteMarkerFromMap(PmcData pmcData, InventoryDeleteMarkerRequestData request)
{
throw new NotImplementedException();
}
///
/// Edit an existing map marker
///
/// Player profile
/// Edit marker request
/// Item
public Item EditMarkerOnMap(PmcData pmcData, InventoryEditMarkerRequestData request)
{
throw new NotImplementedException();
}
///
/// Strip out characters from note string that are not: letter/numbers/unicode/spaces
///
/// Marker text to sanitise
/// Sanitised map marker text
protected string SanitiseMapMarkerText(string mapNoteText)
{
throw new NotImplementedException();
}
///
/// Send a message from an NPC (e.g. prapor) to the player with or without items using direct message text, do not look up any locale
///
/// The session ID to send the message to
/// The trader sending the message
/// What type the message will assume (e.g. QUEST_SUCCESS)
/// Text to send to the player
/// Optional items to send to player
/// Optional time to collect items before they expire
public void SendDirectNpcMessageToPlayer(
string sessionId,
object trader,
MessageType messageType,
string message,
List- items = null,
int? maxStorageTimeSeconds = null,
SystemData systemData = null,
MessageContentRagfair ragfair = null)
{
throw new NotImplementedException();
}
///
/// Send a message from an NPC (e.g. prapor) to the player with or without items
///
/// The session ID to send the message to
/// The trader sending the message
/// What type the message will assume (e.g. QUEST_SUCCESS)
/// The localised text to send to player
/// Optional items to send to player
/// Optional time to collect items before they expire
public void SendLocalisedNpcMessageToPlayer(
string sessionId,
object trader,
MessageType messageType,
string messageLocaleId,
List
- items = null,
int? maxStorageTimeSeconds = null,
SystemData systemData = null,
MessageContentRagfair ragfair = null)
{
throw new NotImplementedException();
}
///
/// Send a message from SYSTEM to the player with or without items
///
/// The session ID to send the message to
/// The text to send to player
/// Optional items to send to player
/// Optional time to collect items before they expire
public void SendSystemMessageToPlayer(
string sessionId,
string message,
List
- items = null,
int? maxStorageTimeSeconds = null,
List profileChangeEvents = null)
{
throw new NotImplementedException();
}
///
/// Send a message from SYSTEM to the player with or without items with localised text
///
/// The session ID to send the message to
/// Id of key from locale file to send to player
/// Optional items to send to player
/// Optional time to collect items before they expire
public void SendLocalisedSystemMessageToPlayer(
string sessionId,
string messageLocaleId,
List
- items = null,
List profileChangeEvents = null,
int? maxStorageTimeSeconds = null)
{
throw new NotImplementedException();
}
///
/// Send a USER message to a player with or without items
///
/// The session ID to send the message to
/// Who is sending the message
/// The text to send to player
/// Optional items to send to player
/// Optional time to collect items before they expire
public void SendUserMessageToPlayer(
string sessionId,
UserDialogInfo senderDetails,
string message,
List
- items = null,
int? maxStorageTimeSeconds = null)
{
throw new NotImplementedException();
}
///
/// Large function to send messages to players from a variety of sources (SYSTEM/NPC/USER)
/// Helper functions in this class are available to simplify common actions
///
/// Details needed to send a message to the player
public void SendMessageToPlayer(SendMessageDetails messageDetails)
{
throw new NotImplementedException();
}
///
/// Send a message from the player to an NPC
///
/// Player id
/// NPC message is sent to
/// Text to send to NPC
public void SendPlayerMessageToNpc(string sessionId, string targetNpcId, string message)
{
throw new NotImplementedException();
}
///
/// Create a message for storage inside a dialog in the player profile
///
/// Id of dialog that will hold the message
/// Various details on what the message must contain/do
/// Message
protected Message CreateDialogMessage(string dialogId, SendMessageDetails messageDetails)
{
throw new NotImplementedException();
}
///
/// Add items to message and adjust various properties to reflect the items being added
///
/// Message to add items to
/// Items to add to message
/// total time items are stored in mail before being deleted
protected void AddRewardItemsToMessage(
Message message,
List itemsToSendToPlayer,
int? maxStorageTimeSeconds)
{
throw new NotImplementedException();
}
///
/// perform various sanitising actions on the items before they're considered ready for insertion into message
///
/// The type of the dialog that will hold the reward items being processed
///
/// Sanitised items
protected List ProcessItemsBeforeAddingToMail(
MessageType dialogType,
SendMessageDetails messageDetails)
{
throw new NotImplementedException();
}
///
/// Try to find the most correct item to be the 'primary' item in a reward mail
///
/// Possible items to choose from
/// Chosen 'primary' item
protected Item GetBaseItemFromRewards(List
- items)
{
throw new NotImplementedException();
}
///
/// Get a dialog with a specified entity (user/trader)
/// Create and store empty dialog if none exists in profile
///
/// Data on what message should do
/// Relevant Dialogue
protected Dialogue GetDialog(SendMessageDetails messageDetails)
{
throw new NotImplementedException();
}
///
/// Get the appropriate sender id by the sender enum type
///
///
/// gets an id of the individual sending it
protected string GetMessageSenderIdByType(SendMessageDetails messageDetails)
{
throw new NotImplementedException();
}
}