def tick(self, time_elapsed): for obj in tuple(self.all_objects()): obj.tick(time_elapsed) if (xisinstance(obj, Asteroid)): if (obj.shot): # _info = { 'destructible' : False, 'destroys_player' : False, 'target' : False } vec_dir = (self.ship.shape.position - obj.shape.position).normalizing().scalar(50.) bullet_pos = obj.shape.position shape_bull = Shape(0.01, bullet_pos) shape_bull.velocity = vec_dir # #(self, model, shape, element, lvl, duration, damage) obj_sh = SimpleShootInvasor(self.models['InvasorSimpleGun'][0], shape_bull, _info, self, 20, 5) self.add_object(obj_sh) # obj.shot = False self.wrap_ship() self.update_mouse_spin(time_elapsed) self.camera.tick(time_elapsed) if (self.has_skybox): self.update_skybox(time_elapsed) self.check_collisions(time_elapsed) self.time -= time_elapsed
def add_object(self, obj): if (xisinstance(obj, SimpleShoot)): self.shots.add(obj) elif (xisinstance(obj, ParticleSystem)): self.particles.add(obj) elif (xisinstance(obj, Missile)): self.missiles.add(obj) elif (xisinstance(obj, Portal)): self.portals.add(obj) elif (xisinstance(obj, Planet)): self.planets.add(obj) elif (xisinstance(obj, Asteroid)): self.asteroids.add(obj) elif (xisinstance(obj, SpaceShip)): self.ship = obj elif (xisinstance(obj, Object)): self.objects.add(obj) elif (xisinstance(obj, SimpleShootInvasor)): self.enemy_shots.add(obj) elif (xisinstance(obj, EnemyShip)): self.enemy_ships.add(obj) else: raise NotImplementedError()
def add_object(self, obj): if (xisinstance(obj, SimpleShoot)): self.shots.add(obj) elif (xisinstance(obj, ParticleSystem)): self.particles.add(obj) elif (xisinstance(obj, Missile)): self.missiles.add(obj) elif (xisinstance(obj, Portal)): self.portals.add(obj) elif (xisinstance(obj, Planet)): self.planets.add(obj) elif (xisinstance(obj, Asteroid)): self.asteroids.add(obj) elif (xisinstance(obj, SpaceShip)): self.ship = obj elif (xisinstance(obj, Object)): self.objects.add(obj) elif(xisinstance(obj, SimpleShootInvasor)): self.enemy_shots.add(obj) elif(xisinstance(obj, EnemyShip)): self.enemy_ships.add(obj) else: raise NotImplementedError()
def tick(self, time_elapsed): for obj in tuple(self.all_objects()): obj.tick(time_elapsed) if (xisinstance(obj, Asteroid)): if (obj.shot): # _info = { 'destructible': False, 'destroys_player': False, 'target': False } vec_dir = (self.ship.shape.position - obj.shape.position).normalizing().scalar(50.) bullet_pos = obj.shape.position shape_bull = Shape(0.01, bullet_pos) shape_bull.velocity = vec_dir # #(self, model, shape, element, lvl, duration, damage) obj_sh = SimpleShootInvasor( self.models['InvasorSimpleGun'][0], shape_bull, _info, self, 20, 5) self.add_object(obj_sh) # obj.shot = False self.wrap_ship() self.update_mouse_spin(time_elapsed) self.camera.tick(time_elapsed) if (self.has_skybox): self.update_skybox(time_elapsed) self.check_collisions(time_elapsed) self.time -= time_elapsed