Skip to content

Commit

Permalink
PlayerInfo everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
minaorangina committed Feb 3, 2021
1 parent 0783363 commit 5d63a8f
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 19 deletions.
2 changes: 1 addition & 1 deletion gameengine.go
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ func buildNewJoinerMessage(joiner, recipient Player) OutboundMessage {
return OutboundMessage{
PlayerID: recipient.ID(),
Name: recipient.Name(),
Joiner: joiner.Name(),
Joiner: PlayerInfo{Name: joiner.Name(), PlayerID: joiner.ID()},
Message: fmt.Sprintf("%s has joined the game!", joiner.Name()),
Command: protocol.NewJoiner,
}
Expand Down
3 changes: 2 additions & 1 deletion gameengine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ func TestGameEngineAddPlayer(t *testing.T) {
err := json.Unmarshal(msg, &data)
utils.AssertNoError(t, err)
fmt.Println(data)
utils.AssertEqual(t, data.Joiner, joiningPlayer.Name())
utils.AssertEqual(t, data.Joiner.Name, joiningPlayer.Name())
utils.AssertEqual(t, data.Joiner.PlayerID, joiningPlayer.ID())
})
})
}
Expand Down
2 changes: 1 addition & 1 deletion playermessages.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type OutboundMessage struct {
PlayerID string `json:"player_id"`
Command protocol.Cmd `json:"command"`
Name string `json:"name"` // pointless?
Joiner string `json:"joiner,omitempty"`
Joiner PlayerInfo `json:"joiner,omitempty"`
Message string `json:"message"`
Hand []deck.Card `json:"hand"`
Seen []deck.Card `json:"seen"`
Expand Down
31 changes: 17 additions & 14 deletions server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@ type NewGameReq struct {
}

type PendingGameRes struct {
GameID string `json:"game_id"`
PlayerID string `json:"player_id"`
Name string `json:"name"`
Admin bool `json:"is_admin"`
Players []shed.PlayerInfo `json:"players,omitempty"`
GameID string `json:"game_id"`
PlayerID string `json:"player_id"`
Name string `json:"name"`
PlayerInfo shed.PlayerInfo `json:"player_info"`
Admin bool `json:"is_admin"`
Players []shed.PlayerInfo `json:"players,omitempty"`
}

type JoinGameReq struct {
Expand Down Expand Up @@ -182,11 +183,12 @@ func (g *GameServer) HandleNewGame(w http.ResponseWriter, r *http.Request) {
}

payload := PendingGameRes{
GameID: gameID,
PlayerID: playerID,
Name: data.Name,
Players: []shed.PlayerInfo{{playerID, data.Name}},
Admin: true,
GameID: gameID,
PlayerID: playerID,
PlayerInfo: shed.PlayerInfo{PlayerID: playerID, Name: data.Name},
Name: data.Name,
Players: []shed.PlayerInfo{{PlayerID: playerID, Name: data.Name}},
Admin: true,
}

bytes, err := json.Marshal(payload)
Expand Down Expand Up @@ -283,10 +285,11 @@ func (g *GameServer) HandleJoinGame(w http.ResponseWriter, r *http.Request) {
}

payload := PendingGameRes{
PlayerID: playerID,
GameID: data.GameID,
Name: data.Name,
Players: playerInfos,
PlayerID: playerID,
GameID: data.GameID,
PlayerInfo: shed.PlayerInfo{PlayerID: playerID, Name: data.Name},
Name: data.Name,
Players: playerInfos,
}

bytes, err := json.Marshal(payload)
Expand Down
4 changes: 2 additions & 2 deletions server/server_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ func TestCreateAndJoinNewGame(t *testing.T) {
var payload shed.OutboundMessage
err = json.Unmarshal(got, &payload)
utils.AssertNoError(t, err)
utils.AssertEqual(t, payload.Joiner, joinerName)
utils.AssertEqual(t, payload.Joiner.Name, joinerName)
})
}

Expand Down Expand Up @@ -153,7 +153,7 @@ func TestStartGame(t *testing.T) {
var data shed.OutboundMessage
err = json.Unmarshal(bytes, &data)
utils.AssertNoError(t, err)
utils.AssertEqual(t, data.Joiner, player2Name)
utils.AssertEqual(t, data.Joiner.Name, player2Name)
})

// When the creator sends the command to start the game
Expand Down

0 comments on commit 5d63a8f

Please sign in to comment.