Table of Contents

Struct ArenaMatchStateBroadcast

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Server → Client broadcast to everyone in an arena instance with the match's current state.

public struct ArenaMatchStateBroadcast : IBroadcast
Implements
IBroadcast
Inherited Members

Remarks

Sent on every phase change, every score change, every second of the countdown, and once a second while live for the clock. The roster is what the client publishes to its own ArenaTeamRegistry, so predicted targeting agrees with the server about who may be hit.

No match id. A client is in at most one match, the one it is standing in, and it never sends this message back — the only correlation token the protocol needs is the one on ArenaReadyCheckBroadcast, which ArenaReadyResponseBroadcast echoes so the server can reject an answer to a match that has moved on. Nothing read the id here, and this message is the most frequent one the arena sends.

Serialized by hand: see ArenaBroadcastSerializers for what that shapes away.

Fields

ArenaTemplateID

public int ArenaTemplateID

Field Value

int

Format

public int Format

Field Value

int

Members

Every seat.

public ArenaMemberEntry[] Members

Field Value

ArenaMemberEntry[]

Objectives

Every objective in the arena, for modes that have them. Empty for deathmatch.

public ArenaObjectiveEntry[] Objectives

Field Value

ArenaObjectiveEntry[]

Phase

public ArenaMatchPhase Phase

Field Value

ArenaMatchPhase

SecondsRemaining

Countdown seconds left while counting down; match seconds left while live; 0 otherwise.

public int SecondsRemaining

Field Value

int

TeamScores

Score per team.

public int[] TeamScores

Field Value

int[]