10 #include "app/globals.h"
11 #include "special/sprite_manager.h"
13 GrowUp::GrowUp(const Vector& pos)
16 bbox.set_size(32, 32);
18 sprite = sprite_manager->create("egg");
19 physic.enable_gravity(true);
20 physic.set_velocity_x(100);
29 GrowUp::action(float elapsed_time)
31 movement = physic.get_movement(elapsed_time);
35 GrowUp::collision(GameObject& other, const CollisionHit& hit)
37 if(other.get_flags() & FLAG_SOLID) {
38 if(fabsf(hit.normal.y) > .5) { // roof or ground
39 physic.set_velocity_y(0);
40 } else { // bumped left or right
41 physic.set_velocity_x(-physic.get_velocity_x());
47 Player* player = dynamic_cast<Player*>(&other);
50 SoundManager::get()->play_sound(IDToSound(SND_EXCELLENT));
60 GrowUp::draw(DrawingContext& context)
62 sprite->draw(context, get_pos(), LAYER_OBJECTS);