Table of Contents

Struct PartyMemberVitalsUpdateBroadcast

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Broadcast carrying live state for the party members sharing a scene with the recipient.

public struct PartyMemberVitalsUpdateBroadcast : IBroadcast
Implements
IBroadcast
Inherited Members

Remarks

The roster payload (PartyAddMultipleBroadcast) gets its health figure from the party database row, and that row is written on connect and on disconnect and at no other time — so every party bar sat frozen at the value its owner logged in with, for the whole session. This message is built on the party update pump from the in-memory controllers of the members the scene server actually hosts, which is the only place a current value exists without a database write per member per second.

Sent only when something changed. The server keeps, per party and scene, the quantised state it last sent and the set of members it sent it for; a pump on which neither differs sends nothing. A full copy still goes out periodically as a safety net, and whenever the member set changes — someone zoning in or out, joining or leaving — so the absence semantics below hold without a heartbeat. Reliable, because it is state and not a stream: a skipped pump is a deliberate "nothing changed", never a lost packet.

The payload is complete for its scene. Every member the recipient shares a scene with appears in it, including the recipient. A client may therefore treat a roster member missing from the latest payload as being somewhere else, which is exactly what drives the greyed-out facade — no separate presence message, and no way for the two to disagree.

Fields

Members

Live state for each party member sharing the recipient's scene.

public PartyMemberVitalsEntry[] Members

Field Value

PartyMemberVitalsEntry[]