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

162 lines
4.9 KiB
Ucode

/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
/**
* This interface provides accessors to the platform specific system methods,
* features that do not pertain to a single user but to the game as a whole.
*/
interface OnlineSystemInterface;
/**
* Determines if the ethernet link is connected or not
*/
function bool HasLinkConnection();
/**
* Delegate fired when the network link status changes
*
* @param bIsConnected whether the link is currently connected or not
*/
delegate OnLinkStatusChange(bool bIsConnected);
/**
* Adds the delegate used to notify the gameplay code that link status changed
*
* @param LinkStatusDelegate the delegate to use for notifications
*/
function AddLinkStatusChangeDelegate(delegate<OnLinkStatusChange> LinkStatusDelegate);
/**
* Removes the delegate from the notify list
*
* @param LinkStatusDelegate the delegate to remove
*/
function ClearLinkStatusChangeDelegate(delegate<OnLinkStatusChange> LinkStatusDelegate);
/**
* Delegate fired when an external UI display state changes (opening/closing)
*
* @param bIsOpening whether the external UI is opening or closing
*/
delegate OnExternalUIChange(bool bIsOpening);
/**
* Sets the delegate used to notify the gameplay code that external UI state
* changed (opened/closed)
*
* @param ExternalUIDelegate the delegate to use for notifications
*/
function AddExternalUIChangeDelegate(delegate<OnExternalUIChange> ExternalUIDelegate);
/**
* Removes the delegate from the notification list
*
* @param ExternalUIDelegate the delegate to remove
*/
function ClearExternalUIChangeDelegate(delegate<OnExternalUIChange> ExternalUIDelegate);
/**
* Determines the current notification position setting
*/
function ENetworkNotificationPosition GetNetworkNotificationPosition();
/**
* Sets a new position for the network notification icons/images
*
* @param NewPos the new location to use
*/
function SetNetworkNotificationPosition(ENetworkNotificationPosition NewPos);
//@HSL_BEGIN_XBOX
/**
* Delegate fired when the controller becomes dis/connected
*
* @param ControllerId the id of the controller that changed connection state
* @param bIsConnected whether the controller connected (true) or disconnected (false)
* @param bPauseGame wheater the game should pause or not
*/
delegate OnControllerChange(int ControllerId,bool bIsConnected,bool bPauseGame);
//@HSL_END_XBOX
/**
* Sets the delegate used to notify the gameplay code that the controller state changed
*
* @param ControllerChangeDelegate the delegate to use for notifications
*/
function AddControllerChangeDelegate(delegate<OnControllerChange> ControllerChangeDelegate);
/**
* Removes the delegate used to notify the gameplay code that the controller state changed
*
* @param ControllerChangeDelegate the delegate to remove
*/
function ClearControllerChangeDelegate(delegate<OnControllerChange> ControllerChangeDelegate);
/**
* Determines if the specified controller is connected or not
*
* @param ControllerId the controller to query
*
* @return true if connected, false otherwise
*/
function bool IsControllerConnected(int ControllerId);
//@HSL_BEGIN - JRO - Make sure we can properly disable multiplayer features when not connected
/**
* Retrieves the current connection status
*
* @return the current connection status
*/
function EOnlineServerConnectionStatus GetCurrentConnectionStatus();
//@HSL_END
/**
* Delegate fire when the online server connection state changes
*
* @param ConnectionStatus the new connection status
*/
delegate OnConnectionStatusChange(EOnlineServerConnectionStatus ConnectionStatus);
/**
* Adds the delegate to the list to be notified when the connection status changes
*
* @param ConnectionStatusDelegate the delegate to add
*/
function AddConnectionStatusChangeDelegate(delegate<OnConnectionStatusChange> ConnectionStatusDelegate);
/**
* Removes the delegate from the notify list
*
* @param ConnectionStatusDelegate the delegate to remove
*/
function ClearConnectionStatusChangeDelegate(delegate<OnConnectionStatusChange> ConnectionStatusDelegate);
/**
* Determines the NAT type the player is using
*/
function ENATType GetNATType();
/**
* Delegate fired when a storage device change is detected
*/
delegate OnStorageDeviceChange();
/**
* Adds the delegate to the list to be notified when a storage device changes
*
* @param StorageDeviceChangeDelegate the delegate to add
*/
function AddStorageDeviceChangeDelegate(delegate<OnStorageDeviceChange> StorageDeviceChangeDelegate);
/**
* Removes the delegate from the notify list
*
* @param StorageDeviceChangeDelegate the delegate to remove
*/
function ClearStorageDeviceChangeDelegate(delegate<OnStorageDeviceChange> StorageDeviceChangeDelegate);
/**
* Determine the locale (country code) for the player
*/
function int GetLocale();