def updateTank(self, tank): fraction = tank.get('fraction') if not ObjectFactory.updateTank(tank): movingHandler = MovingHandlersFactory.getInstance(fraction) newTank = TankFactory.getInstance(tank) newTank.do(movingHandler()) LayoutFactory.addTank(newTank, fraction) ObjectFactory.addTank(newTank, fraction)
def updateTank(self, object): id = object.get(NetworkDataCodes.TANK_ID) position = object.get(NetworkDataCodes.POSITION) rotation = object.get(NetworkDataCodes.ROTATION) gun_rotation = object.get(NetworkDataCodes.GUN_ROTATION) type = object.get(NetworkDataCodes.TYPE) clan = object.get(NetworkDataCodes.CLAN) bot = object.get(NetworkDataCodes.BOT) tank = TankFactory.getOrCreate(id, type, clan, rotation, bot) if id == Global.CurrentPlayerId: return tank.rotation = rotation tank.gun_rotation = gun_rotation tank.position = position
def tanks(self): if self.arguments.get('tanks'): for tank in self.arguments.get('tanks'): fraction = tank.get('fraction') type = tank.get('type') movingHandler = MovingHandlersFactory.getInstance(fraction) Tank = TankFactory.getInstance(type) Tank.do(movingHandler()) Tank.position = (tank.get('x'), tank.get('y')) #settings.collision_manager.add(Tank1) LayoutFactory.addTank(Tank, fraction) ObjectFactory.addTank(Tank, fraction)