diff options
Diffstat (limited to 'backend/game/message.go')
| -rw-r--r-- | backend/game/message.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/backend/game/message.go b/backend/game/message.go index 0b413d6..d4007a3 100644 --- a/backend/game/message.go +++ b/backend/game/message.go @@ -14,6 +14,7 @@ const ( playerMessageTypeC2SEntry = "player:c2s:entry" playerMessageTypeC2SReady = "player:c2s:ready" playerMessageTypeC2SCode = "player:c2s:code" + playerMessageTypeC2SSubmit = "player:c2s:submit" ) type playerMessageC2SWithClient struct { @@ -36,6 +37,8 @@ type playerMessageC2SEntry = api.GamePlayerMessageC2SEntry type playerMessageC2SReady = api.GamePlayerMessageC2SReady type playerMessageC2SCode = api.GamePlayerMessageC2SCode type playerMessageC2SCodePayload = api.GamePlayerMessageC2SCodePayload +type playerMessageC2SSubmit = api.GamePlayerMessageC2SSubmit +type playerMessageC2SSubmitPayload = api.GamePlayerMessageC2SSubmitPayload func asPlayerMessageC2S(raw map[string]json.RawMessage) (playerMessageC2S, error) { var typ string @@ -61,6 +64,15 @@ func asPlayerMessageC2S(raw map[string]json.RawMessage) (playerMessageC2S, error Type: playerMessageTypeC2SCode, Data: payload, }, nil + case playerMessageTypeC2SSubmit: + var payload playerMessageC2SSubmitPayload + if err := json.Unmarshal(raw["data"], &payload); err != nil { + return nil, err + } + return &playerMessageC2SSubmit{ + Type: playerMessageTypeC2SSubmit, + Data: payload, + }, nil default: return nil, fmt.Errorf("unknown message type: %s", typ) } |
