namespace {
const float BULLET_XM = 600;
-const float BULLET_STARTING_YM = 0;
}
-Bullet::Bullet(const Vector& pos, float xm, int dir, BonusType type) :
+Bullet::Bullet(const Vector& pos, float xm, int dir, BonusType type_) :
physic(),
- life_count(3),
+ life_count(3),
sprite(),
light(0.0f,0.0f,0.0f),
- lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-small.sprite")),
- type(type)
+ lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light-small.sprite")),
+ type(type_)
{
float speed = dir == RIGHT ? BULLET_XM : -BULLET_XM;
physic.set_velocity_x(speed + xm);
if(type == FIRE_BONUS) {
- sprite = sprite_manager->create("images/objects/bullets/firebullet.sprite");
+ sprite = SpriteManager::current()->create("images/objects/bullets/firebullet.sprite");
lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
lightsprite->set_color(Color(0.3f, 0.1f, 0.0f));
} else if(type == ICE_BONUS) {
life_count = 10;
- sprite = sprite_manager->create("images/objects/bullets/icebullet.sprite");
+ sprite = SpriteManager::current()->create("images/objects/bullets/icebullet.sprite");
} else {
log_warning << "Bullet::Bullet called with unknown BonusType" << std::endl;
life_count = 10;
- sprite = sprite_manager->create("images/objects/bullets/firebullet.sprite");
+ sprite = SpriteManager::current()->create("images/objects/bullets/firebullet.sprite");
}
bbox.set_pos(pos);
if (light.red + light.green < 2.0){
context.push_target();
context.set_target(DrawingContext::LIGHTMAP);
+ sprite->draw(context, get_pos(), LAYER_OBJECTS);
lightsprite->draw(context, get_bbox().get_middle(), 0);
context.pop_target();
}