Navigation
API > API/Plugins > API/Plugins/OnlineSubsystemUtils
A beacon host used for taking reservations for an existing game session
| Name | UPartyBeaconState |
| Type | class |
| Header File | /Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Public/PartyBeaconState.h |
| Include Path | #include "PartyBeaconState.h" |
Syntax
UCLASS (MinimalAPI, Transient, Config=Engine)
class UPartyBeaconState : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UPartyBeaconState
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UPartyBeaconState
(
const FObjectInitializer& ObjectInitializer |
PartyBeaconState.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AddReservation
(
const FPartyReservation& ReservationRequest |
Add a reservation to the beacon state, tries to assign a team | PartyBeaconState.h | |
virtual bool AreTeamsAvailable
(
const FPartyReservation& ReservationRequest |
Determine if there are any teams that can fit the current party request. | PartyBeaconState.h | |
virtual bool ChangeTeam
(
const FUniqueNetIdRepl& PartyLeader, |
Place a party on a new team, party must fit and team must exist | PartyBeaconState.h | |
virtual bool CrossPlayAllowed
(
const FPartyReservation& ReservationRequest |
Perform a cross play compatible check for the new reservation against existing reservations | PartyBeaconState.h | |
virtual bool DoesModifiedReservationFit
(
const FPartyReservation& ExistingReservation, |
Determine if this reservation fits all rules for fitting in the game | PartyBeaconState.h | |
virtual bool DoesReservationFit
(
const FPartyReservation& ReservationRequest |
Determine if this reservation fits all rules for fitting in the game | PartyBeaconState.h | |
virtual void DumpReservations() |
Output current state of reservations to log | PartyBeaconState.h | |
virtual int32 GetExistingReservation
(
const FUniqueNetIdRepl& PartyLeader |
Get an existing reservation for a given party | PartyBeaconState.h | |
virtual int32 GetExistingReservationContainingMember
(
const FUniqueNetIdRepl& PartyMember |
Get an existing reservation containing a given party member | PartyBeaconState.h | |
virtual int32 GetMaxAvailableTeamSize() |
Determine the maximum team size that can be accommodated based on the current reservation slots occupied. | PartyBeaconState.h | |
virtual int32 GetMaxPlayersPerTeam() |
Get the max number of players per team | PartyBeaconState.h | |
virtual int32 GetMaxReservations() |
PartyBeaconState.h | ||
virtual int32 GetNumConsumedReservations() |
PartyBeaconState.h | ||
virtual int32 GetNumPlayersOnTeam
(
int32 TeamIdx |
Get the number of current players on a given team. | PartyBeaconState.h | |
virtual int32 GetNumTeams() |
Get the number of teams. | PartyBeaconState.h | |
virtual bool GetPartyLeader
(
const FUniqueNetIdRepl& InPartyMemberId, |
Get the party leader for a given unique id | PartyBeaconState.h | |
int32 GetPlayersOnTeam
(
int32 TeamIndex, |
Get all the known players on a given team | PartyBeaconState.h | |
virtual bool GetPlayerValidation
(
const FUniqueNetId& PlayerId, |
Obtain player validation string from party reservation entry | PartyBeaconState.h | |
virtual int32 GetRemainingReservations() |
PartyBeaconState.h | ||
virtual int32 GetReservationCount() |
Get the current reservation count inside the beacon this is NOT the number of players in the game | PartyBeaconState.h | |
virtual int32 GetReservationPlatformCount
(
const FString& InPlatform, |
Get a count of all players for a given platform | PartyBeaconState.h | |
virtual TArray< FPartyReservation > & GetReservations() |
PartyBeaconState.h | ||
virtual int32 GetReservationTeamCount() |
Get the amount of teams used by reservations | PartyBeaconState.h | |
virtual FName GetSessionName() |
PartyBeaconState.h | ||
virtual int32 GetTeamAssignment
(
const FPartyReservation& Party |
Determine the team number for the given party reservation request. | PartyBeaconState.h | |
virtual int32 GetTeamForCurrentPlayer
(
const FUniqueNetId& PlayerId |
Get the team index for a given player | PartyBeaconState.h | |
virtual bool HasCrossplayOptOutReservation() |
PartyBeaconState.h | ||
virtual bool InitState
(
int32 InTeamCount, |
Initialize this state object | PartyBeaconState.h | |
virtual void InitTeamArray() |
Randomly assign a team for the reservation configuring the beacon | PartyBeaconState.h | |
virtual bool IsBeaconFull() |
PartyBeaconState.h | ||
virtual bool PlayerHasReservation
(
const FUniqueNetId& PlayerId |
Does a given player id have an existing reservation | PartyBeaconState.h | |
virtual bool ReconfigureTeamAndPlayerCount
(
int32 InNumTeams, |
Reconfigures the beacon for a different team/player count configuration Allows dedicated server to change beacon parameters after a playlist configuration has been made Does no real checking against current reservations because we assume the UI wouldn't let this party start a gametype if they were too big to fit on a team together | PartyBeaconState.h | |
void RegisterAuthTicket
(
const FUniqueNetIdRepl& InPartyMemberId, |
Register user auth ticket with the reservation system Must have an existing reservation entry | PartyBeaconState.h | |
virtual bool RemovePlayer
(
const FUniqueNetIdRepl& PlayerId |
Remove a single player from their party's reservationPlayerId player to remove | PartyBeaconState.h | |
virtual bool RemoveReservation
(
const FUniqueNetIdRepl& PartyLeader |
Remove an entire reservation from this state object | PartyBeaconState.h | |
virtual void SetCompetitiveIntegrity
(
bool bNewCompetitiveIntegrity |
Competitive integrity represents how "fair" we need to keep the game. | PartyBeaconState.h | |
virtual void SetTeamAssignmentMethod
(
FName NewAssignmentMethod |
Define the method for assignment new reservations to teams | PartyBeaconState.h | |
virtual bool ShouldRespectCompetitiveIntegrity () |
Competitive integrity represents how "fair" we need to keep the game. | PartyBeaconState.h | |
virtual bool SwapTeams
(
const FUniqueNetIdRepl& PartyLeader, |
Swap the parties between teams, parties must be able to fit on other team after swap | PartyBeaconState.h | |
virtual bool UpdateMemberPlatform
(
const FUniqueNetIdRepl& PartyMember, |
Updates the platform on an existing reservation (Used when MMS does not set a platform when handing out a match assignment) | PartyBeaconState.h | |
virtual void UpdatePartyLeader
(
const FUniqueNetIdRepl& InPartyMemberId, |
Update party leader for a given player with the reservation beacon (needed when party leader leaves, reservation beacon is in a temp/bad state until someone updates this) | PartyBeaconState.h | |
virtual bool ValidateNewPartyReservation
(
const FPartyReservation& ReservationRequest |
Allows child classes to add extra validation when a new reservation request comes in, for example to validate the new players are allowed in based on privacy settings | PartyBeaconState.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BestFitTeamAssignmentJiggle() |
Arrange reservations to make the most room available on a single team allowing larger parties to fit into this session Since teams change, this shouldn't be used after the teams have been set in the game logic | PartyBeaconState.h | |
void SanityCheckReservations
(
const bool bIgnoreEmptyReservations |
Check that our reservations are in a good state | PartyBeaconState.h |