def findLeaderBoards(self, dnaGroup, zoneId): if isinstance(dnaGroup, DNAGroup) and ('leaderBoard' in dnaGroup.getName()): boardType = dnaGroup.getName() x, y, z = dnaGroup.getPos() h, p, r = dnaGroup.getHpr() leaderBoard = DistributedLeaderBoardAI(simbase.air) if boardType == "leaderBoard_stadium": leaderBoard.setGenre(self.Stadium) elif boardType == "leaderBoard_country": leaderBoard.setGenre(self.Rural) elif boardType == "leaderBoard_city": leaderBoard.setGenre(self.Urban) leaderBoard.generateWithRequired(zoneId) leaderBoard.setPosHpr(x,y,z,h,p,r) self.leaderBoards.append(leaderBoard) for i in range(dnaGroup.getNumChildren()): (foundLeaderBoards) = self.findLeaderBoards(dnaGroup.at(i), zoneId) return (self.leaderBoards)
def findLeaderBoards(self, dnaGroup, zoneId): if isinstance(dnaGroup, DNAGroup) and ('leaderBoard' in dnaGroup.getName()): boardType = dnaGroup.getName() x, y, z = dnaGroup.getPos() h, p, r = dnaGroup.getHpr() leaderBoard = DistributedLeaderBoardAI(simbase.air) if boardType == "leaderBoard_stadium": leaderBoard.setGenre(self.Stadium) elif boardType == "leaderBoard_country": leaderBoard.setGenre(self.Rural) elif boardType == "leaderBoard_city": leaderBoard.setGenre(self.Urban) leaderBoard.generateWithRequired(zoneId) leaderBoard.setPosHpr(x,y,z,h,p,r) self.leaderBoards.append(leaderBoard) for i in xrange(dnaGroup.getNumChildren()): (foundLeaderBoards) = self.findLeaderBoards(dnaGroup.at(i), zoneId) return (self.leaderBoards)
def findLeaderBoards(self, dnaGroup, zoneId): if not self.air.wantKarts: return leaderBoards = [] if isinstance(dnaGroup, DNAGroup) and ('leader_board' in dnaGroup.getName()): for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'leaderBoard' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() nameInfo = childDnaGroup.getName().split('_') if nameInfo[1] in RaceGlobals.LBSubscription: leaderBoard = DistributedLeaderBoardAI( simbase.air, RaceGlobals.LBSubscription[nameInfo[1]]) leaderBoard.setPosHpr(pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) leaderBoard.generateWithRequired(zoneId) leaderBoards.append(leaderBoard) elif isinstance(dnaGroup, DNAVisGroup): zoneId = int(dnaGroup.getName().split(':')[0]) for i in xrange(dnaGroup.getNumChildren()): foundLeaderBoards = self.findLeaderBoards(dnaGroup.at(i), zoneId) leaderBoards.extend(foundLeaderBoards) return leaderBoards
def findLeaderBoards(self, dnaGroup, zoneId): if not self.air.wantKarts: return leaderBoards = [] if isinstance(dnaGroup, DNAGroup) and ('leader_board' in dnaGroup.getName()): for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'leaderBoard' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() nameInfo = childDnaGroup.getName().split('_') if nameInfo[1] in RaceGlobals.LBSubscription: leaderBoard = DistributedLeaderBoardAI(simbase.air, RaceGlobals.LBSubscription[nameInfo[1]]) leaderBoard.setPosHpr(pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) leaderBoard.generateWithRequired(zoneId) leaderBoards.append(leaderBoard) elif isinstance(dnaGroup, DNAVisGroup): zoneId = int(dnaGroup.getName().split(':')[0]) for i in xrange(dnaGroup.getNumChildren()): foundLeaderBoards = self.findLeaderBoards(dnaGroup.at(i), zoneId) leaderBoards.extend(foundLeaderBoards) return leaderBoards
def findLeaderBoards(self, dnaData, zoneId): leaderboards = [] if 'leaderBoard' in dnaData.getName(): x, y, z = dnaData.getPos() h, p, r = dnaData.getHpr() leaderboard = DistributedLeaderBoardAI(self, dnaData.getName(), x, y, z, h, p, r) leaderboard.generateWithRequired(zoneId) leaderboards.append(leaderboard) for i in xrange(dnaData.getNumChildren()): foundLeaderBoards = self.findLeaderBoards(dnaData.at(i), zoneId) leaderboards.extend(foundLeaderBoards) return leaderboards
def findLeaderBoards(self, dnaPool, zoneID): ''' Find and return leader boards ''' leaderBoards = [] if (string.find(dnaPool.getName(), 'leaderBoard') >= 0): #found a leader board pos = dnaPool.getPos() hpr = dnaPool.getHpr() lb = DistributedLeaderBoardAI(self, dnaPool.getName(), zoneID, [], pos, hpr) lb.generateWithRequired(zoneID) leaderBoards.append(lb) else: for i in range(dnaPool.getNumChildren()): result = self.findLeaderBoards(dnaPool.at(i), zoneID) if result: leaderBoards += result return leaderBoards