aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/game/message.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/game/message.go')
-rw-r--r--backend/game/message.go12
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)
}