Put delete of game from controller in right place
Added some debugging
This commit is contained in:
@@ -87,8 +87,6 @@ type Game struct {
|
||||
stats GameStats
|
||||
mode GameMode
|
||||
bw *bandwidth.Bandwidth
|
||||
Conf Config
|
||||
Games *MapLock
|
||||
Verbose bool
|
||||
}
|
||||
|
||||
@@ -124,7 +122,7 @@ func NewGame(id string, width, height float32, obstacles, tick, maxPoints int, m
|
||||
spectators: make(map[*Spectator]bool),
|
||||
sregister: make(chan *Spectator),
|
||||
sunregister: make(chan *Spectator),
|
||||
kill: make(chan bool, maxPlayer),
|
||||
kill: make(chan bool),
|
||||
repair_hp: 5,
|
||||
repair_rate: 3.0,
|
||||
tick_duration: tick,
|
||||
@@ -297,20 +295,18 @@ func (g *Game) sendUpdate(payload *Boardstate) {
|
||||
|
||||
func (g *Game) run() {
|
||||
var t0, t1 time.Time
|
||||
ticker := time.NewTicker(time.Duration(g.Conf.Tick) * time.Millisecond)
|
||||
ticker := time.NewTicker(time.Duration(g.tick_duration) * time.Millisecond)
|
||||
for {
|
||||
select {
|
||||
case <-g.kill:
|
||||
log.Printf("game %s: received kill signal, dying gracefully", g.id)
|
||||
close(g.bw.Quit)
|
||||
g.Games.Lock()
|
||||
g.bw.Quit <- true
|
||||
for player := range g.players {
|
||||
close(player.send)
|
||||
}
|
||||
delete(g.Games.M, g.id)
|
||||
g.Games.Unlock()
|
||||
return
|
||||
case p := <-g.register:
|
||||
log.Println("registering player:", p.Id)
|
||||
g.players[p] = true
|
||||
g.stats.PlayerStats[p.Id] = &PlayerStats{
|
||||
BotStats: make(map[string]*BotStats),
|
||||
@@ -320,11 +316,14 @@ func (g *Game) run() {
|
||||
r.gameStats = g.stats.PlayerStats[p.Id].BotStats[r.Name]
|
||||
}
|
||||
case p := <-g.unregister:
|
||||
log.Println("unregistering player:", p.Id)
|
||||
delete(g.players, p)
|
||||
close(p.send)
|
||||
case s := <-g.sregister:
|
||||
log.Println("registering spectator:", s.Id)
|
||||
g.spectators[s] = true
|
||||
case s := <-g.sunregister:
|
||||
log.Println("unregistering spectator:", s.Id)
|
||||
delete(g.spectators, s)
|
||||
close(s.send)
|
||||
case <-ticker.C:
|
||||
@@ -362,6 +361,7 @@ func (g *Game) run() {
|
||||
}
|
||||
}
|
||||
}
|
||||
log.Println("run done")
|
||||
}
|
||||
|
||||
func (g *Game) sendGameOver(eg *GameOver) {
|
||||
|
||||
Reference in New Issue
Block a user