Navigation
API > API/Plugins > API/Plugins/OnlineSubsystemUtils
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UPartyBeaconState
References
| Module | OnlineSubsystemUtils |
| Header | /Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Public/PartyBeaconState.h |
| Include | #include "PartyBeaconState.h" |
Syntax
UCLASS&40;Transient, Config&61;Engine&41;
class UPartyBeaconState : public UObject
Remarks
A beacon host used for taking reservations for an existing game session
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bEnableRemovalRequests | Process requests from clients to remove players from beacon | |
| bool | bRespectCompetitiveIntegrity | Competitive integrity represents how "fair" we need to keep the game. | |
| bool | bRestrictCrossConsole | Are multiple consoles types allowed to play together | |
| int32 | ForceTeamNum | Team that everyone is forced to in single team games | |
| int32 | MaxReservations | Maximum allowed reservations | |
| int32 | NumConsumedReservations | Number of currently consumed reservations | |
| int32 | NumPlayersPerTeam | Number of players on each team for balancing | |
| int32 | NumTeams | Number of teams in the game | |
| TArray< FString > | PlatformCrossplayRestrictions | Platform crossplay restrictions. | |
| TArray< FPartyBeaconCrossplayPlatformMapping > | PlatformTypeMapping | ||
| TArray< FUniqueNetIdPtr > | PlayersPendingJoin | Players that are expected to join shortly | |
| TArray< FPartyReservation > | Reservations | Current reservations in the system | |
| int32 | ReservedHostTeamNum | Team that the host has been assigned to | |
| FName | SessionName | Session tied to the beacon | |
| FName | TeamAssignmentMethod | Team assignment method |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UPartyBeaconState
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AddReservation
(
const FPartyReservation& ReservationRequest |
Add a reservation to the beacon state, tries to assign a team | |
| bool | AreTeamsAvailable
(
const FPartyReservation& ReservationRequest |
Determine if there are any teams that can fit the current party request. | |
| void | 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 | ||
| bool | ChangeTeam
(
const FUniqueNetIdRepl& PartyLeader, |
Place a party on a new team, party must fit and team must exist | |
| bool | CrossPlayAllowed
(
const FPartyReservation& ReservationRequest |
Perform a cross play compatible check for the new reservation against existing reservations | |
| bool | DoesReservationFit
(
const FPartyReservation& ReservationRequest |
Determine if this reservation fits all rules for fitting in the game | |
| void | Output current state of reservations to log | ||
| int32 | GetExistingReservation
(
const FUniqueNetIdRepl& PartyLeader |
Get an existing reservation for a given party | |
| int32 | GetExistingReservationContainingMember
(
const FUniqueNetIdRepl& PartyMember |
Get an existing reservation containing a given party member | |
| int32 | Determine the maximum team size that can be accommodated based on the current reservation slots occupied. | ||
| int32 | Get the max number of players per team | ||
| int32 | |||
| int32 | |||
| int32 | GetNumPlayersOnTeam
(
int32 TeamIdx |
Get the number of current players on a given team. | |
| int32 | GetNumTeams () |
Get the number of teams. | |
| bool | GetPartyLeader
(
const FUniqueNetIdRepl& InPartyMemberId, |
Get the party leader for a given unique id | |
| int32 | GetPlayersOnTeam
(
int32 TeamIndex, |
Get all the known players on a given team | |
| bool | GetPlayerValidation
(
const FUniqueNetId& PlayerId, |
Obtain player validation string from party reservation entry | |
| int32 | |||
| int32 | Get the current reservation count inside the beacon this is NOT the number of players in the game | ||
| int32 | GetReservationPlatformCount
(
const FString& InPlatform, |
Get a count of all players for a given platform | |
| TArray< FPartyReservation > & | |||
| FName | |||
| int32 | GetTeamAssignment
(
const FPartyReservation& Party |
Determine the team number for the given party reservation request. | |
| int32 | GetTeamForCurrentPlayer
(
const FUniqueNetId& PlayerId |
Get the team index for a given player | |
| bool | |||
| bool | Initialize this state object | ||
| void | Randomly assign a team for the reservation configuring the beacon | ||
| bool | IsBeaconFull () |
||
| bool | PlayerHasReservation
(
const FUniqueNetId& PlayerId |
Does a given player id have an existing reservation | |
| 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 | |
| void | RegisterAuthTicket
(
const FUniqueNetIdRepl& InPartyMemberId, |
Register user auth ticket with the reservation system Must have an existing reservation entry | |
| bool | RemovePlayer
(
const FUniqueNetIdRepl& PlayerId |
Remove a single player from their party's reservationPlayerId player to remove | |
| bool | RemoveReservation
(
const FUniqueNetIdRepl& PartyLeader |
Remove an entire reservation from this state object | |
| void | SanityCheckReservations
(
const bool bIgnoreEmptyReservations |
Check that our reservations are in a good state | |
| void | SetCompetitiveIntegrity
(
bool bNewCompetitiveIntegrity |
Competitive integrity represents how "fair" we need to keep the game. | |
| void | SetTeamAssignmentMethod
(
FName NewAssignmentMethod |
Define the method for assignment new reservations to teams | |
| bool | Competitive integrity represents how "fair" we need to keep the game. | ||
| bool | SwapTeams
(
const FUniqueNetIdRepl& PartyLeader, |
Swap the parties between teams, parties must be able to fit on other team after swap | |
| 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) | |
| 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) |