Put delete of game from controller in right place

Added some debugging
This commit is contained in:
sm
2014-03-31 23:21:16 -07:00
parent c8efd34080
commit 81beee8b43
5 changed files with 15 additions and 11 deletions
+8 -8
View File
@@ -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) {