Jazz2::Multiplayer::PeerDescriptor struct

Peer descriptor.

Holds all per-peer session state tracked by NetworkManager and MpLevelHandler: identity and authentication, chosen player type/name, the spawned player actor and the carry-over state retained so a reconnecting player can resume. The per-round game-mode statistics and team assignment are inherited from MpPlayerState, so the game modes can read and write them through IGameModeContext without knowing about peers or networking.

Base classes

struct MpPlayerState
Network-agnostic per-player game-mode state for a single round.

Constructors, destructors, conversion operators

PeerDescriptor()
Creates a new instance.

Public variables

Peer RemotePeer
Remote peer if the peer is connected remotely.
Uuid UniquePlayerID
Unique Player ID if the peer is connected remotely.
bool IsAuthenticated
Whether the peer is already successfully authenticated.
bool IsAdmin
Whether the peer has admin privileges.
bool EnableLedgeClimb
Whether ledge climbing is enabled by client.
bool VotedYes
Whether the peer voted "yes" in the active poll.
PlayerType PreferredPlayerType
Preferred player type selected by the peer.
String PlayerName
Player display name.
std::uint32_t FurColor
Player character recolor (packed 4-byte fur color; 0 = default colors), as chosen by the peer.
std::uint32_t Points
Earned points in the current session (championship).
PeerLevelState LevelState
State of the player in the current level.
Actors::Multiplayer::MpPlayer* Player
Spawned player in the current level.
std::uint64_t LastUpdated
Last update of the player from client.
float IdleElapsedFrames
Elapsed frames when the player is idle.
float JoinCooldownFrames
Time remaining for join cooldown.
SpectateMode IsSpectating
Whether the player is in spectate mode.
PlayerCarryOver CarryOver
Player state (weapons, lives, score, ...) to apply on the next (re)spawn, see HasCarryOver.
bool HasCarryOver
Whether CarryOver holds state to apply on the next spawn (level change or reconnect).
TimeStamp DisconnectedSince
Time when the peer disconnected, used for the reconnect window (invalid while connected).