Beispiel #1
0
 def __init__(self, mediator, rprops):
     self.load_txt = self.cam_tsk = self.cam_node = self.send_tsk = \
         self.cam_pivot = self.ready_clients = self.preview = \
         self.curr_load_txt = self.track = self.cars = self.load_car = None
     self.player_cars = []
     self.props = rprops
     LogicColleague.__init__(self, mediator)
     self.ai_poller = CarAiPoller()
Beispiel #2
0
 def destroy(self):
     self.car = self.cars = None
     try:
         self.notify('on_weapon_destroyed', self.mediator)
     except TypeError:
         info('empty observers')
         # it may happen on pause/resume
     LogicColleague.destroy(self)
Beispiel #3
0
 def destroy(self):
     self.camera = None
     if self.weapon: self.weapon = self.weapon.destroy()
     f_wpn = [wpn for wpn in self.fired_weapons if wpn]
     list(map(lambda wpn: wpn.destroy(), f_wpn))
     self.fired_weapons = []
     LogicColleague.destroy(self)
     ComputerProxy.destroy(self)
Beispiel #4
0
 def __init__(self, mediator, season_props):
     LogicColleague.__init__(self, mediator)
     self.props = s_p = season_props
     self.players = []
     car_names = [player.car for player in self.players]
     self.ranking = Ranking(
         car_names, s_p.gameprops.menu_props.background_img_path, s_p.font,
         s_p.gameprops.menu_props.text_normal_col)
     self.tuning = Tuning(s_p)
     self.race = None
Beispiel #5
0
 def __init__(self, mediator, track_phys, track_gfx):
     LogicColleague.__init__(self, mediator)
     self.track_phys = track_phys
     self.track_gfx = track_gfx
     pos = self.mediator.gfx.model.get_pos()
     wp_info = [(w_p, (w_p.initial_pos - pos).length())
                for w_p in track_phys.waypoints]
     self.closest_wp = min(wp_info, key=lambda pair: pair[1])[0]
     pos = self.mediator.gfx.model.get_pos()
     pos = Vec(pos.x, pos.y, pos.z)
     self.closest_wp.node.set_pos(pos)
     self.closest_wp.weapon_boxes += [self.mediator]
     track_gfx.redraw_wps()
Beispiel #6
0
 def destroy(self):
     cwp = self.closest_wp
     boxes = cwp.weapon_boxes
     boxes.remove(self.mediator)
     cwp.weapon_boxes = boxes
     if cwp.weapon_boxes:
         pos = cwp.weapon_boxes[-1].gfx.model.get_pos()
         pos = Vec(pos.x, pos.y, pos.z)
         cwp.node.set_pos(pos)
     else:
         pos = cwp.initial_pos
         pos = Vec(pos.x, pos.y, pos.z)
         cwp.node.set_pos(pos)
     self.track_gfx.redraw_wps()
     self.track_phys = self.track_gfx = self.closest_wp = None
     LogicColleague.destroy(self)
Beispiel #7
0
 def __init__(self, mediator, car_props, players):
     LogicColleague.__init__(self, mediator)
     ComputerProxy.__init__(self)
     self.cprops = car_props
     self.lap_time_start = 0
     self.last_roll_ok_time = self.eng.curr_time
     self.last_roll_ko_time = self.eng.curr_time
     self.last_ground_time = self.eng.curr_time
     self.lap_times = []
     self.__pitstop_wps = {}
     self.__grid_wps = {}
     self.collected_wps = []  # for validating laps
     self.weapon = None
     self.fired_weapons = []
     self.camera = None
     self._grid_wps = self._pitstop_wps = None
     #player_car_names = [player.car for player in players
     #                    if player.kind == Player.human]
     #joystick = \
     #    car_props.name == player_car_names[mediator.player_car_idx] and \
     #    mediator.player_car_idx < \
     #    self.eng.joystick_mgr.joystick_lib.num_joysticks
     self.input_strat = Input2ForcesStrategy(
         self.__class__ == CarPlayerLogic, self.mediator)
     self.start_pos = car_props.pos
     self.start_pos_hpr = car_props.hpr
     self.last_ai_wp = None
     self.__wp_num = None
     self.applied_torque = False  # applied from weapons
     self.alt_jmp_wp = None
     self.last_network_packet = 0
     self.curr_network_start_pos = (0, 0, 0)
     self.curr_network_end_pos = (0, 0, 0)
     self.curr_network_start_vec = (0, 0, 0)
     self.curr_network_end_vec = (0, 0, 0)
     self.curr_network_input = DirKeys(False, False, False, False)
     self.__players = players
Beispiel #8
0
 def __init__(self, mediator, car, cars, wpn_id):
     LogicColleague.__init__(self, mediator)
     self.car = car
     self.cars = cars
     self.wpn_id = wpn_id
     self.has_fired = False
Beispiel #9
0
 def destroy(self):
     self.tuning.detach_obs(self.on_tuning_sel)
     self.props = self.ranking = self.tuning = self.race = None
     LogicColleague.destroy(self)
Beispiel #10
0
 def __init__(self, mediator, driver_props):
     LogicColleague.__init__(self, mediator)
     self.dprops = driver_props