uncategorized gameMechanics - wxyz-abcd/node-haxball GitHub Wiki
sequenceDiagram
participant Host
participant Client
Note left of Host: User triggers some event
Note left of Host: (Host Actions)
Note left of Host: Send the event to all clients
Host->>Client: Send event message
Note right of Client: (Common Actions)
sequenceDiagram
participant Host
participant Client
Note right of Client: User triggers some event
Client->>Host: Send event message
Note left of Host: (Host Actions)
Note left of Host: Send the event to all clients
Host->>Client: Send event message
Note right of Client: (Common Actions)
flowchart TD
event((event message))
opRec{onOperationReceived}
break[Break player's connection to host]
discard[Block event]
accept[Accept event]
apply["(Common Actions)"]
event-->opRec
opRec-->|false| discard
opRec-->|throw exception| break
opRec-->|true| accept
accept-->apply
flowchart TD
event((event message))
ae[Apply event to current game state]
rcobe{RoomConfig.onBeforeEvent}
break[Break player's connection to host]
discard[Block event]
accept[Accept event]
subgraph poe[For each Plugin]
xxx[Plugin.onEvent]
end
rcoe[RoomConfig.onEvent]
roe[Renderer.onEvent]
rcoae[RoomConfig.onAfterEvent]
event-->rcobe
rcobe-->|false| discard
rcobe-->|throw exception| break
rcobe-->|anything else=customData| accept
accept-->ae
ae-->poe
poe-->rcoe
rcoe-->roe
roe-->rcoae