diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-28 19:42:05 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-28 19:52:31 +0900 |
| commit | 22ddf340f0b0c8d0cd04c34d9fa1481a1fbf422f (patch) | |
| tree | fab36f8dc1a2be23e331752b3e3d35e10d797ecf /backend/message.go | |
| parent | 7bd55ee264f7eefda6c1f71865a2c6287d7e20fa (diff) | |
| download | iosdc-japan-2024-albatross-22ddf340f0b0c8d0cd04c34d9fa1481a1fbf422f.tar.gz iosdc-japan-2024-albatross-22ddf340f0b0c8d0cd04c34d9fa1481a1fbf422f.tar.zst iosdc-japan-2024-albatross-22ddf340f0b0c8d0cd04c34d9fa1481a1fbf422f.zip | |
refactor(backend): move game-related code to game module
Diffstat (limited to 'backend/message.go')
| -rw-r--r-- | backend/message.go | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/backend/message.go b/backend/message.go deleted file mode 100644 index f466a8f..0000000 --- a/backend/message.go +++ /dev/null @@ -1,104 +0,0 @@ -package main - -import ( - "encoding/json" - "fmt" -) - -type MessageWithClient struct { - Client *GameClient - Message *Message -} - -type Message struct { - Type string `json:"type"` - Data MessageData `json:"data"` -} - -type MessageData interface{} - -type MessageDataConnect struct { -} - -type MessageDataPrepare struct { - Problem string `json:"problem"` -} - -type MessageDataReady struct { -} - -type MessageDataStart struct { - StartTime string `json:"startTime"` -} - -type MessageDataCode struct { - Code string `json:"code"` -} - -type MessageDataScore struct { - Score int `json:"score"` -} - -type MessageDataFinish struct { - YourScore *int `json:"yourScore"` - OpponentScore *int `json:"opponentScore"` -} - -type MessageDataWatch struct { - Problem string `json:"problem"` - ScoreA *int `json:"scoreA"` - CodeA string `json:"codeA"` - ScoreB *int `json:"scoreB"` - CodeB string `json:"codeB"` -} - -func (m *Message) UnmarshalJSON(data []byte) error { - var raw map[string]json.RawMessage - if err := json.Unmarshal(data, &raw); err != nil { - return err - } - - if err := json.Unmarshal(raw["type"], &m.Type); err != nil { - return err - } - - var err error - switch m.Type { - case "connect": - var data MessageDataConnect - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "prepare": - var data MessageDataPrepare - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "ready": - var data MessageDataReady - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "start": - var data MessageDataStart - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "code": - var data MessageDataCode - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "score": - var data MessageDataScore - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "finish": - var data MessageDataFinish - err = json.Unmarshal(raw["data"], &data) - m.Data = data - case "watch": - var data MessageDataWatch - err = json.Unmarshal(raw["data"], &data) - m.Data = data - default: - err = fmt.Errorf("unknown message type: %s", m.Type) - } - - return err -} |
