Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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