X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Frock.hpp;h=f1b0f0c263c0cce689fba72b9e0669ca81462d3d;hb=7be55d4d3cfdeea2c68405c4b2a1999b8e246331;hp=7303fe13812559f42cf1e9f8c750c1a272b7c960;hpb=6f92944e2238c19283a0776e63f469b3345bccd2;p=supertux.git diff --git a/src/object/rock.hpp b/src/object/rock.hpp index 7303fe138..f1b0f0c26 100644 --- a/src/object/rock.hpp +++ b/src/object/rock.hpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux // 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 -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,37 +12,39 @@ // 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. +// along with this program. If not, see . -#ifndef __ROCK_H__ -#define __ROCK_H__ +#ifndef HEADER_SUPERTUX_OBJECT_ROCK_HPP +#define HEADER_SUPERTUX_OBJECT_ROCK_HPP #include "object/moving_sprite.hpp" -#include "physic.hpp" -#include "lisp/lisp.hpp" -#include "portable.hpp" -#include "serializable.hpp" +#include "object/portable.hpp" +#include "supertux/physic.hpp" class Sprite; -class Rock : public MovingSprite, public Portable, public Serializable +class Rock : public MovingSprite, + public Portable { public: - Rock(const lisp::Lisp& reader); - virtual Rock* clone() const { return new Rock(*this); } + Rock(const Vector& pos, std::string spritename); + Rock(const Reader& reader); + Rock(const Reader& reader, std::string spritename); void collision_solid(const CollisionHit& hit); HitResponse collision(GameObject& other, const CollisionHit& hit); void update(float elapsed_time); - void write(lisp::Writer& writer); - + void grab(MovingObject& object, const Vector& pos, Direction dir); void ungrab(MovingObject& object, Direction dir); -private: - bool on_ground; +protected: Physic physic; + bool on_ground; + bool grabbed; + Vector last_movement; }; #endif + +/* EOF */