X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Ffish.hpp;h=fa36dee97e3ba9a68f58d796e39b30cb1dd7a785;hb=013a5ca196545a094f27c1b708facd0084d58d55;hp=af8b1a88b0375280e6f26c20c3e904edb80ff4e8;hpb=cde3a617070bee8af4ddcf58122cf6a65b97d874;p=supertux.git diff --git a/src/badguy/fish.hpp b/src/badguy/fish.hpp index af8b1a88b..fa36dee97 100644 --- a/src/badguy/fish.hpp +++ b/src/badguy/fish.hpp @@ -1,7 +1,7 @@ // $Id$ -// +// // SuperTux -// Copyright (C) 2005 Matthias Braun +// Copyright (C) 2006 Matthias Braun // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -12,11 +12,11 @@ // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -// 02111-1307, USA. +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + #ifndef __FISH_H__ #define __FISH_H__ @@ -26,19 +26,30 @@ class Fish : public BadGuy { public: Fish(const lisp::Lisp& ); - Fish(float , float ); + Fish(const Vector& pos); + + void draw(DrawingContext& context); - HitResponse collision_solid(GameObject& , const CollisionHit& ); + void collision_solid(const CollisionHit& hit); HitResponse collision_badguy(BadGuy& , const CollisionHit& ); + void collision_tile(uint32_t tile_attributes); void write(lisp::Writer& ); void active_update(float); + void freeze(); + void unfreeze(); + bool is_freezable() const; + + virtual Fish* clone() const { return new Fish(*this); } + private: HitResponse hit(const CollisionHit& ); - bool waiting; - float waiting_for; void start_waiting(); + void jump(); + + Timer waiting; + float stop_y; /**< y-coordinate to stop at */ }; #endif