#include <list>
#include <memory>
+#include "sprite/sprite_ptr.hpp"
#include "supertux/moving_object.hpp"
#include "supertux/object_remove_listener.hpp"
class Player;
-class Sprite;
/** This class is the base class for all objects you can interact with in some
* way. There are several interaction types defined like touch and activate
*/
-class TriggerBase : public MovingObject,
+class TriggerBase : public MovingObject,
public ObjectRemoveListener
{
public:
* Receive trigger events
*/
virtual void event(Player& player, EventType type) = 0;
-
+
/**
* Called by GameObject destructor of an object in losetouch_listeners
*/
virtual void object_removed(GameObject* object);
private:
- std::auto_ptr<Sprite> sprite;
+ SpritePtr sprite;
bool lasthit;
bool hit;