Skip to content

Commit 1046cd2

Browse files
committed
Add 'everyone' property to 'ready_players' event
1 parent b22b39c commit 1046cd2

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

events.cge

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ event ready {}
2828
// The `ready_players` event contains a list of all players which are ready.
2929
event ready_players {
3030
// A list of all ready players.
31-
players: list<string>
31+
players: list<string>,
32+
// True if all players in the game are ready.
33+
everyone: bool
3234
}
3335

3436
// The `throttle` event allows you to change your throttle level and direction.

hoverrace/event_definitions.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ const ReadyPlayersEvent cg.EventName = "ready_players"
4545
type ReadyPlayersEventData struct {
4646
// A list of all ready players.
4747
Players []string `json:"players"`
48+
// True if all players in the game are ready.
49+
Everyone bool `json:"everyone"`
4850
}
4951

5052
// The `throttle` event allows you to change your throttle level and direction.

hoverrace/game.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ func (g *Game) onPlayerJoined(cgPlayer *cg.Player) {
8787
}
8888
if len(readyPlayers) > 0 {
8989
cgPlayer.Send("server", ReadyPlayersEvent, ReadyPlayersEventData{
90-
Players: readyPlayers,
90+
Players: readyPlayers,
91+
Everyone: len(readyPlayers) == len(g.players),
9192
})
9293
}
9394
}
@@ -136,7 +137,8 @@ func (g *Game) onPlayerSocketConnected(player *cg.Player, socket *cg.Socket) {
136137
}
137138
if len(readyPlayers) > 0 {
138139
socket.Send("server", ReadyPlayersEvent, ReadyPlayersEventData{
139-
Players: readyPlayers,
140+
Players: readyPlayers,
141+
Everyone: len(readyPlayers) == len(g.players),
140142
})
141143
}
142144

@@ -174,7 +176,8 @@ func (g *Game) onSpectatorConnected(socket *cg.Socket) {
174176
}
175177
if len(readyPlayers) > 0 {
176178
socket.Send("server", ReadyPlayersEvent, ReadyPlayersEventData{
177-
Players: readyPlayers,
179+
Players: readyPlayers,
180+
Everyone: len(readyPlayers) == len(g.players),
178181
})
179182
}
180183

@@ -234,7 +237,8 @@ func (g *Game) handleReady(playerId string) {
234237
}
235238

236239
g.cg.Send(playerId, ReadyPlayersEvent, ReadyPlayersEventData{
237-
Players: readyPlayers,
240+
Players: readyPlayers,
241+
Everyone: len(readyPlayers) == len(g.players),
238242
})
239243

240244
if len(readyPlayers) == len(g.players) {

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func main() {
3131
server := cg.NewServer("hoverrace", cg.ServerConfig{
3232
DisplayName: "Hover Race",
3333
Description: "Race against other hovercrafts from checkpoint to checkpoint.",
34-
Version: "0.2",
34+
Version: "0.3",
3535
RepositoryURL: "https://github.com/code-game-project/hoverrace",
3636
WebsocketTimeout: 1 * time.Minute,
3737
MaxPlayersPerGame: 10,

0 commit comments

Comments
 (0)