pause if no clients are connected
This commit is contained in:
parent
0b1e623357
commit
0314ceae4a
|
@ -81,29 +81,31 @@ func serveClients() {
|
||||||
level = data.LoadLevel(LevelFile)
|
level = data.LoadLevel(LevelFile)
|
||||||
frameCounter = 0
|
frameCounter = 0
|
||||||
for { // while true
|
for { // while true
|
||||||
for _, k := range clientKeys {
|
if len(clients) > 0 { // pause if no clients are connected
|
||||||
id, client := k, clients[k]
|
for _, k := range clientKeys {
|
||||||
if id > 0 {
|
id, client := k, clients[k]
|
||||||
oFrame := level.GetFrame(0+frameCounter, client.w, frameCounter)
|
if id > 0 {
|
||||||
enc := gob.NewEncoder(client.con)
|
oFrame := level.GetFrame(0+frameCounter, client.w, frameCounter)
|
||||||
err := enc.Encode(oFrame)
|
enc := gob.NewEncoder(client.con)
|
||||||
if err != nil {
|
err := enc.Encode(oFrame)
|
||||||
// client disconnected
|
if err != nil {
|
||||||
//log.Println("BEFORE remove: clients:", clients, " clientKeys:", clientKeys)
|
// client disconnected
|
||||||
// delete client
|
//log.Println("BEFORE remove: clients:", clients, " clientKeys:", clientKeys)
|
||||||
delete(clients, client.id)
|
// delete client
|
||||||
// delete client key
|
delete(clients, client.id)
|
||||||
// ugly as fuck in go to remove from a slice
|
// delete client key
|
||||||
// it *should* work though
|
// ugly as fuck in go to remove from a slice
|
||||||
idInKeys := sort.SearchInts(clientKeys, client.id)
|
// it *should* work though
|
||||||
clientKeys = append(clientKeys[:idInKeys], clientKeys[idInKeys+1:]...)
|
idInKeys := sort.SearchInts(clientKeys, client.id)
|
||||||
//log.Println("AFTER remove: clients:", clients, " clientKeys:", clientKeys)
|
clientKeys = append(clientKeys[:idInKeys], clientKeys[idInKeys+1:]...)
|
||||||
|
//log.Println("AFTER remove: clients:", clients, " clientKeys:", clientKeys)
|
||||||
|
}
|
||||||
|
//log.Println("ID:", id, "Client:", client)
|
||||||
}
|
}
|
||||||
//log.Println("ID:", id, "Client:", client)
|
|
||||||
}
|
}
|
||||||
|
frameCounter++
|
||||||
|
time.Sleep(time.Second / time.Duration(level.FPS))
|
||||||
}
|
}
|
||||||
frameCounter++
|
|
||||||
time.Sleep(time.Second / time.Duration(level.FPS))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user