def __bld_drv(dct): drv = Driver( DriverProps( DriverInfo(dct['img_idx'], dct['name'], dct['speed'], dct['adherence'], dct['stability']), dct['car_name'], dct['f_engine'], dct['f_tires'], dct['f_suspensions'])) return drv
def drivers(): names = ThanksNames.get_thanks(8, 5) _drivers = [ DriverInfo(0, names[0], 4, -2, -2), DriverInfo(1, names[1], -2, 4, -2), DriverInfo(2, names[2], 0, 4, -4), DriverInfo(3, names[3], 4, -4, 0), DriverInfo(4, names[4], -2, -2, 4), DriverInfo(5, names[5], -4, 0, 4), DriverInfo(6, names[6], 4, 0, -4), DriverInfo(7, names[7], -4, 4, 0)] return _drivers
def drv_request(self, car, driver_name, drv, driver_speed, driver_adherence, driver_stability, sender): self.eng.log_mgr.log('driver requested: %s' % drv) btn = self._buttons(drv)[0] if btn['state'] == DISABLED: self.eng.log_mgr.log('driver already selected: %s' % drv) return False elif btn['state'] == NORMAL: self.eng.log_mgr.log('driver selected: %s' % drv) if sender in self.current_drivers_dct: _btn = self._buttons(self.current_drivers_dct[sender])[0] _btn.enable() _btn._name_txt['text'] = '' self.current_drivers_dct[sender] = drv btn.disable() for conn in self.eng.server.connections: if conn == sender: curr_addr = conn.getpeername() username = '' for usr in self.eng.xmpp.users: if usr.local_addr == curr_addr: username = usr.name if not username: for usr in self.eng.xmpp.users: if usr.public_addr == curr_addr: username = usr.name #btn._name_txt['text'] = JID(username).bare self.eng.server.send([NetMsgs.driver_selection, drv, username]) self.current_drivers += [sender] self.eng.log_mgr.log('driver selected: %s (%s) ' % (driver_name, drv)) gprops = self.props.gameprops cars = gprops.cars_names[:] car_idx = cars.index(car) prev_drv = gprops.drivers_info[car_idx] gprops.drivers_info[car_idx] = DriverInfo(drv, driver_name, driver_speed, driver_adherence, driver_stability) for i, drv_i in enumerate(gprops.drivers_info): if drv_i.img_idx == drv and i != car_idx: gprops.drivers_info[i] = prev_drv self.evaluate_starting() return True