def exitGame(self, player): if player not in self.players: return #TODO: Ver como o server original trata qnd um player sai durante uma partida 1x1 self.players.remove(player) if player in self.attackOrderList: self.attackOrderList.remove(player) builder = XMLBuilder("REMOVE_PLAYER") builder.player.name(player.name) self.broadXml(builder) builder.roomID(str(self.id)) self.server.lobbyBroadXml(builder)
def removeUser(self, user): if user not in self.users: return self.users.remove(user) if len(self.users) == 0: # Destroy Room del self.server.rooms[self.id] else: builder = XMLBuilder("REMOVE_USER") builder.name(user.name) self.broadXml(builder) # Broadcast to Lobby builder = XMLBuilder("REMOVE_USER") builder.roomID(str(self.id)) builder.user.name(user.name) self.server.lobbyBroadXml(builder)
def enterGame(self, user, team): player = self.getPlayer(user.name) if player is None: player = Player(user, user.name, team) self.players.append(player) else: player.team = team builder = XMLBuilder("ADD_PLAYER") bPlayer = builder.player bPlayer.name(player.name) bPlayer.team(player.team) self.broadXml(builder) # Broadcast to Lobby builder.roomID(str(self.id)) self.server.lobbyBroadXml(builder) return player