1
0
KF2-Dev-Scripts/IpDrv/Classes/McpManagedValueManagerBase.uc
2020-12-13 18:01:13 +03:00

143 lines
5.2 KiB
Ucode

/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*
* This is the base interface for manipulating a user's managed values
*/
class McpManagedValueManagerBase extends McpServiceBase
abstract
config(Engine);
/** The class name to use in the factory method to create our instance */
var config String McpManagedValueManagerClassName;
/**
* Name to value mapping for a value managed on the MCP server
*/
struct ManagedValue
{
/** The ID of the value */
var Name ValueId;
/** The value the server from the server */
var int Value;
};
/**
* Holds a single user's save slot information for managed values
*/
struct ManagedValueSaveSlot
{
/** The owner of this save slot */
var String OwningMcpId;
/** The save slot id */
var String SaveSlot;
/** The list of managed values in this save slot */
var array<ManagedValue> Values;
};
/**
* @return the object that implements this interface or none if missing or failed to create/load
*/
final static function McpManagedValueManagerBase CreateInstance()
{
local class<McpManagedValueManagerBase> McpManagedValueManagerBaseClass;
local McpManagedValueManagerBase NewInstance;
McpManagedValueManagerBaseClass = class<McpManagedValueManagerBase>(DynamicLoadObject(default.McpManagedValueManagerClassName,class'Class'));
// If the class was loaded successfully, create a new instance of it
if (McpManagedValueManagerBaseClass != None)
{
NewInstance = new McpManagedValueManagerBaseClass;
NewInstance.Init();
}
return NewInstance;
}
/**
* Creates the user's specified save slot
*
* @param McpId the id of the user that requested the create
* @param SaveSlot the save slot that is being create
*/
function CreateSaveSlot(String McpId, String SaveSlot);
/**
* Called once the results come back from the server to indicate success/failure of the operation
*
* @param McpId the id of the user that requested the save slot create
* @param SaveSlot the save slot that was created
* @param bWasSuccessful whether the mapping succeeded or not
* @param Error string information about the error (if an error)
*/
delegate OnCreateSaveSlotComplete(string McpId, string SaveSlot, bool bWasSuccessful, String Error);
/**
* Reads all of the values in the user's specified save slot
*
* @param McpId the id of the user that requested the read
* @param SaveSlot the save slot that is being read
*/
function ReadSaveSlot(String McpId, String SaveSlot);
/**
* Called once the results come back from the server to indicate success/failure of the operation
*
* @param McpId the id of the user that requested the read
* @param SaveSlot the save slot that was being read
* @param bWasSuccessful whether the mapping succeeded or not
* @param Error string information about the error (if an error)
*/
delegate OnReadSaveSlotComplete(string McpId, string SaveSlot, bool bWasSuccessful, String Error);
/**
* @return The list of values for the requested user's specified save slot
*/
function array<ManagedValue> GetValues(String McpId, String SaveSlot);
/**
* @return The value the server returned for the requested value id from the user's specific save slot
*/
function int GetValue(String McpId, String SaveSlot, Name ValueId);
/**
* Updates a specific value in the user's specified save slot
*
* @param McpId the id of the user that requested the update
* @param SaveSlot the save slot that was being updated
* @param ValueId the value that the server should update
* @param Value the value to apply as the update (delta or absolute determined by the server)
*/
function UpdateValue(String McpId, String SaveSlot, Name ValueId, int Value);
/**
* Called once the results come back from the server to indicate success/failure of the operation
*
* @param McpId the id of the user that requested the update
* @param SaveSlot the save slot that was being updated
* @param ValueId the value id that was updated
* @param Value the value that the server returned as part of the update (in case the server overrides it)
* @param bWasSuccessful whether the mapping succeeded or not
* @param Error string information about the error (if an error)
*/
delegate OnUpdateValueComplete(string McpId, string SaveSlot, Name ValueId, int Value, bool bWasSuccessful, String Error);
/**
* Deletes a value from the user's specified save slot
*
* @param McpId the id of the user that requested the delete
* @param SaveSlot the save slot that is having the value deleted from
* @param ValueId the value id for the server to delete
*/
function DeleteValue(String McpId, String SaveSlot, Name ValueId);
/**
* Called once the results come back from the server to indicate success/failure of the operation
*
* @param McpId the id of the user that requested the delete
* @param SaveSlot the save slot that was having the value deleted from
* @param ValueId the value id that the server deleted
* @param bWasSuccessful whether the mapping succeeded or not
* @param Error string information about the error (if an error)
*/
delegate OnDeleteValueComplete(string McpId, string SaveSlot, Name ValueId, bool bWasSuccessful, String Error);