aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/game/message.go
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-08-03 22:18:31 +0900
committernsfisis <nsfisis@gmail.com>2024-08-03 22:18:31 +0900
commit7a4171d021a709e0af1e0e13830514c67ec97702 (patch)
treebdef0421d29b9ee737e869677166d4b3ebdadb0f /backend/game/message.go
parentf70d6eed9f2c519aed030c9dbda99ed0435991a0 (diff)
downloadphperkaigi-2025-albatross-7a4171d021a709e0af1e0e13830514c67ec97702.tar.gz
phperkaigi-2025-albatross-7a4171d021a709e0af1e0e13830514c67ec97702.tar.zst
phperkaigi-2025-albatross-7a4171d021a709e0af1e0e13830514c67ec97702.zip
feat: partially implement submit action
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)
}