1
0
KF2-Dev-Scripts/Engine/Classes/OnlinePartyChatInterface.uc

191 lines
7.4 KiB
Ucode
Raw Permalink Normal View History

2020-12-13 15:01:13 +00:00
/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
/**
* This interface provides extended player functionality not supported by
* all platforms. The OnlineSubsystem will return NULL when requesting this
* interface on a platform where it is not supporeted.
*/
interface OnlinePartyChatInterface dependson(OnlineSubsystem);
/**
* Sends an invite to everyone in the existing party session
*
* @param LocalUserNum the user to sending the invites
*
* @return true if it was able to send them, false otherwise
*/
function bool SendPartyGameInvites(byte LocalUserNum);
/**
* Called when the async invite send has completed
*
* @param bWasSuccessful true if the async action completed without error, false if there was an error
*/
delegate OnSendPartyGameInvitesComplete(bool bWasSuccessful);
/**
* Sets the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to sending the invites
* @param SendPartyGameInvitesCompleteDelegate the delegate to use for notifications
*/
function AddSendPartyGameInvitesCompleteDelegate(byte LocalUserNum,delegate<OnSendPartyGameInvitesComplete> SendPartyGameInvitesCompleteDelegate);
/**
* Clears the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to sending the invites
* @param SendPartyGameInvitesCompleteDelegate the delegate to use for notifications
*/
function ClearSendPartyGameInvitesCompleteDelegate(byte LocalUserNum,delegate<OnSendPartyGameInvitesComplete> SendPartyGameInvitesCompleteDelegate);
/**
* Gets the party member information from the platform, including the application specific data
*
* @param PartyMembers the array to be filled out of party member information
*
* @return true if the call could populate the array, false otherwise
*/
function bool GetPartyMembersInformation(out array<OnlinePartyMember> PartyMembers);
/**
* Gets the individual party member's information from the platform, including the application specific data
*
* @param MemberId the id of the party member to lookup
* @param PartyMember out value where the data is copied to
*
* @return true if the call found the player, false otherwise
*/
function bool GetPartyMemberInformation(UniqueNetId MemberId,out OnlinePartyMember PartyMember);
/**
* Called when a player has joined or left your party chat
*
* @param bJoinedOrLeft true if the player joined, false if they left
* @param PlayerName the name of the player that was affected
* @param PlayerId the net id of the player that left
*/
delegate OnPartyMemberListChanged(bool bJoinedOrLeft,string PlayerName,UniqueNetId PlayerId);
/**
* Sets the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to listening for party chat notifications
* @param PartyMemberListChangedDelegate the delegate to use for notifications
*/
function AddPartyMemberListChangedDelegate(byte LocalUserNum,delegate<OnPartyMemberListChanged> PartyMemberListChangedDelegate);
/**
* Clears the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to listening for party chat notifications
* @param PartyMemberListChangedDelegate the delegate to use for notifications
*/
function ClearPartyMemberListChangedDelegate(byte LocalUserNum,delegate<OnPartyMemberListChanged> PartyMemberListChangedDelegate);
//@HSL_BEGIN_XBOX
/**
* Called when a reserved player has joined or left your party chat
*
* @param bJoinedOrLeft true if the reserved player joined, false if they left
* @param PlayerName the name of the player that was affected
* @param PlayerId the net id of the player that left
*/
delegate OnReservedPartyMemberListChanged(bool bJoinedOrLeft,string PlayerName,UniqueNetId PlayerId);
/**
* Sets the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to listening for party chat notifications
* @param PartyMemberListChangedDelegate the delegate to use for notifications
*/
function AddReservedPartyMemberListChangedDelegate(byte LocalUserNum,delegate<OnReservedPartyMemberListChanged> ReservedPartyMemberListChangedDelegate);
/**
* Clears the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to listening for party chat notifications
* @param PartyMemberListChangedDelegate the delegate to use for notifications
*/
function ClearReservedPartyMemberListChangedDelegate(byte LocalUserNum,delegate<OnReservedPartyMemberListChanged> ReservedPartyMemberListChangedDelegate);
//@HSL_END_XBOX
/**
* Called when a player has joined or left your party chat
*
* @param PlayerName the name of the player that was affected
* @param PlayerId the net id of the player that had data change
* @param CustomData1 the first 4 bytes of the custom data
* @param CustomData2 the second 4 bytes of the custom data
* @param CustomData3 the third 4 bytes of the custom data
* @param CustomData4 the fourth 4 bytes of the custom data
*/
delegate OnPartyMembersInfoChanged(string PlayerName,UniqueNetId PlayerId,int CustomData1,int CustomData2,int CustomData3,int CustomData4);
/**
* Sets the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to listening for party chat notifications
* @param PartyMembersInfoChangedDelegate the delegate to use for notifications
*/
function AddPartyMembersInfoChangedDelegate(byte LocalUserNum,delegate<OnPartyMembersInfoChanged> PartyMembersInfoChangedDelegate);
/**
* Clears the delegate used to notify the gameplay code that async task has completed
*
* @param LocalUserNum the user to listening for party chat notifications
* @param PartyMembersInfoChangedDelegate the delegate to use for notifications
*/
function ClearPartyMembersInfoChangedDelegate(byte LocalUserNum,delegate<OnPartyMembersInfoChanged> PartyMembersInfoChangedDelegate);
/**
* Sets a party member's application specific data
*
* @param LocalUserNum the user that you are setting the data for
* @param Data1 the first 4 bytes of custom data
* @param Data2 the second 4 bytes of custom data
* @param Data3 the third 4 bytes of custom data
* @param Data4 the fourth 4 bytes of custom data
*
* @return true if the data could be set, false otherwise
*/
function bool SetPartyMemberCustomData(byte LocalUserNum,int Data1,int Data2,int Data3,int Data4);
/**
* Determines the amount of data that has been sent in the last second
*
* @return >= 0 if able to get the bandwidth used over the last second, < 0 upon an error
*/
function int GetPartyBandwidth();
/**
* Opens the party UI for the user
*
* @param LocalUserNum the user requesting the UI
*/
function bool ShowPartyUI(byte LocalUserNum);
/**
* Opens the voice channel UI for the user
*
* @param LocalUserNum the user requesting the UI
*/
function bool ShowVoiceChannelUI(byte LocalUserNum);
/**
* Opens the community sessions UI for the user
*
* @param LocalUserNum the user requesting the UI
*/
function bool ShowCommunitySessionsUI(byte LocalUserNum);
/**
* Checks for the specified player being in a party chat
*
* @param LocalUserNum the user that you are setting the data for
*
* @return true if there is a party chat in progress, false otherwise
*/
function bool IsInPartyChat(byte LocalUserNum);