class VisualizerThread(threading.Thread): def __init__(self, _mapJsonFileName, _debug=False, _scoreboard=False): super(VisualizerThread, self).__init__() self.running = False self.mapJsonFileName = _mapJsonFileName self.debug = _debug self.scoreboard = _scoreboard self.append_turn = [] if _scoreboard: self.scoreboard = Scoreboard(parameters.scoreboard_url) def run(self): try: with open(self.mapJsonFileName) as json_file: mapJsonObject = loadJson(json_file) if(mapJsonObject is None): raise Exception except IOError: print("File " + self.mapJsonFileName + " does not exist") raise exit(1) except Exception: print("Failed to parse map json data") raise exit(1) self.visualizer = Visualizer(mapJsonObject, self.debug) while 1: while len(self.append_turn) != 0: self.visualizer.add_turn(self.append_turn.pop(0)) turn = self.visualizer.run() if turn is not None: if self.scoreboard: self.scoreboard.change_turn(turn) def add_turn(self, json): self.append_turn.append(json) def kill(self): pass def stop(self): pass def __del__(self): self.kill()
def run(self): try: with open(self.mapJsonFileName) as json_file: mapJsonObject = loadJson(json_file) if(mapJsonObject is None): raise Exception except IOError: print("File " + self.mapJsonFileName + " does not exist") raise exit(1) except Exception: print("Failed to parse map json data") raise exit(1) self.visualizer = Visualizer(mapJsonObject, self.debug) while 1: while len(self.append_turn) != 0: self.visualizer.add_turn(self.append_turn.pop(0)) turn = self.visualizer.run() if turn is not None: if self.scoreboard: self.scoreboard.change_turn(turn)