X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fpowerup.cpp;h=f274d485e4891e2ca9e4f58da6fdf65d2ad5b469;hb=5f1c84ed5ce0ab5450f92082a9aaaa9ca0effc39;hp=09d4d58049f3538a3f1e3d841c6a5c26f8f68a58;hpb=e50498b0a812cc8af84b0146ed917bb332471e8b;p=supertux.git diff --git a/src/object/powerup.cpp b/src/object/powerup.cpp index 09d4d5804..f274d485e 100644 --- a/src/object/powerup.cpp +++ b/src/object/powerup.cpp @@ -19,34 +19,24 @@ #include +#include #include +#include #include "powerup.hpp" #include "resources.hpp" #include "player.hpp" -#include "sprite/sprite_manager.hpp" #include "audio/sound_manager.hpp" #include "object_factory.hpp" #include "sector.hpp" #include "log.hpp" PowerUp::PowerUp(const lisp::Lisp& lisp) + : MovingSprite(lisp, LAYER_OBJECTS, COLGROUP_MOVING) { - lisp.get("x", bbox.p1.x); - lisp.get("y", bbox.p1.y); - if (!lisp.get("sprite", sprite_name)) throw std::runtime_error("no sprite file set for powerup"); lisp.get("script", script); no_physics = false; lisp.get("disable-physics", no_physics); - bbox.set_size(32, 32); - sprite = sprite_manager->create(sprite_name); physic.enable_gravity(true); - - set_group(COLGROUP_MOVING); -} - -PowerUp::~PowerUp() -{ - delete sprite; } HitResponse @@ -96,11 +86,5 @@ PowerUp::update(float elapsed_time) movement = physic.get_movement(elapsed_time); } -void -PowerUp::draw(DrawingContext& context) -{ - sprite->draw(context, get_pos(), LAYER_OBJECTS); -} - IMPLEMENT_FACTORY(PowerUp, "powerup");