X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fdart.hpp;h=1c6a3d33d40efb2ba930dfc114729b5da8912965;hb=0222881aae90660c925ea2733cd8c80be7ac837b;hp=36f858f9ff46cb530da90f1d5ab4db637de31761;hpb=1ac057dac68afefe6e602f1d114becf8d7f535f2;p=supertux.git diff --git a/src/badguy/dart.hpp b/src/badguy/dart.hpp index 36f858f9f..1c6a3d33d 100644 --- a/src/badguy/dart.hpp +++ b/src/badguy/dart.hpp @@ -1,4 +1,4 @@ -// $Id: dart.hpp 3327 2006-04-13 15:02:40Z sommer $ +// $Id$ // // Dart - Your average poison dart // Copyright (C) 2006 Christoph Sommer @@ -30,20 +30,29 @@ class Dart : public BadGuy { public: Dart(const lisp::Lisp& reader); - Dart(float pos_x, float pos_y, Direction d, const BadGuy* parent); + Dart(const Vector& pos, Direction d, const BadGuy* parent); + Dart(const Dart& dart); + ~Dart(); void activate(); void deactivate(); void write(lisp::Writer& writer); + void active_update(float elapsed_time); + HitResponse collision_solid(GameObject& object, const CollisionHit& hit); HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit); HitResponse collision_player(Player& player, const CollisionHit& hit); + virtual Dart* clone() const { return new Dart(*this); } + + virtual bool updatePointers(const GameObject* from_object, GameObject* to_object); + protected: bool set_direction; Direction initial_direction; const BadGuy* parent; /**< collisions with this BadGuy will be ignored */ + std::auto_ptr sound_source; /**< SoundSource for ambient sound */ }; #endif