diff --git a/lobby.py b/lobby.py index 2e1eb58..f2378bf 100644 --- a/lobby.py +++ b/lobby.py @@ -29,6 +29,7 @@ class Lobby: # Network self.networkManager = NetworkManager() + self.isUpdating = True # First self.nameDisplay() @@ -97,34 +98,35 @@ class Lobby: self.update() def update(self): - messages = self.networkManager.requestMessages() - scores = self.networkManager.requestScores() + if self.isUpdating: + messages = self.networkManager.requestMessages() + scores = self.networkManager.requestScores() - # Score - if len(scores) > self.scoreLen: - for child in self.scoreFrame.children.values(): - child.pack_forget() - - self.scoreLen = len(scores) - - rank = 1 - for score in self.networkManager.requestScores(): - pseudo, score = score.split(';') - self.addScoreEntry(rank, pseudo, score) - rank += 1 - - # Chat - if len(messages) > self.chatLen: - for child in self.chatFrame.children.values(): - if child._name != 'bottomFrame': + # Score + if len(scores) > self.scoreLen: + for child in self.scoreFrame.children.values(): child.pack_forget() - self.chatLen = len(messages) + self.scoreLen = len(scores) - for messsage in self.networkManager.requestMessages(): - split = messsage.split(';') - time, pseudo, content = split[0], split[1], ';'.join(split[2:]) - self.addChatEntry(time, pseudo, content) + rank = 1 + for score in self.networkManager.requestScores(): + pseudo, score = score.split(';') + self.addScoreEntry(rank, pseudo, score) + rank += 1 + + # Chat + if len(messages) > self.chatLen: + for child in self.chatFrame.children.values(): + if child._name != 'bottomFrame': + child.pack_forget() + + self.chatLen = len(messages) + + for messsage in self.networkManager.requestMessages(): + split = messsage.split(';') + time, pseudo, content = split[0], split[1], ';'.join(split[2:]) + self.addChatEntry(time, pseudo, content) self.win.after(1000, lambda: self.update()) @@ -169,6 +171,7 @@ class Lobby: self.win.iconify() # Display + self.isUpdating = False quadraLudi.main(self.win, lambda score: self.playEnd(score)) def playEnd(self, score): @@ -176,6 +179,7 @@ class Lobby: self.win.deiconify() self.win.focus_force() self.chatEntry.focus() + self.isUpdating = True # Send score self.sendScore(score)