def gameStart(self): self.displayText.setText("Starting game...") if CLIENTS.__len__() > 1: ranValPkg = PyDatagram() ranValPkg.addUint16(GAME_INITIALIZE) ranValPkg.addUint32(self.playerCount) for client in CLIENTS: x = random.randint(1, 5) y = random.randint(1, 5) self.gameEngine.players.append( Player(x, y, 20, CLIENTS_ID[client])) self.gameEngine.world.attachCharacter(self.gameEngine.players[ CLIENTS_ID[client]].playerNP.node()) ranValPkg.addUint32(CLIENTS_ID[client]) ranValPkg.addFloat32(x) ranValPkg.addFloat32(y) for client in CLIENTS: temp = ranValPkg.__copy__() temp.addUint32(CLIENTS_ID[client]) self.cWriter.send(temp, client) taskMgr.add(self.update, 'update') else: self.broadcastMsg("/info no_clients") GameUI.createWhiteBgUI("Not enough clients connected.") self.displayText.destroy()
def gameInitialize(self, msgID, data): self.displayUI.destroy() playerCount = data.getUint32() for i in range(0, playerCount): playerId = data.getUint32() x = data.getFloat32() y = data.getFloat32() self.gameEngine.players.append(Player(x, y, 20, playerId)) self.gameEngine.world.attachCharacter(self.gameEngine.players[playerId].playerNP.node()) self.gameEngine.showPointer() self.id = data.getUint32() self.healthUI = GameUI.createWhiteBgUI("") self.serverWait = False taskMgr.add(self.update, 'update')
def info(self, value): if value == "no_clients": GameUI.createWhiteBgUI("Not enough clients connected.") self.displayUI.destroy()
def invalid(self, value): GameUI.createWhiteBgUI("Invalid command for " + value)