#define SUPERTUX_PARTICLESYSTEM_H
#include <vector>
-#include "screen/texture.h"
-#include "game_object.h"
+
+#include "video/surface.h"
+#include "special/game_object.h"
+#include "serializable.h"
+
+using namespace SuperTux;
+
+namespace SuperTux {
+class LispReader;
+}
class DisplayManager;
virtual void draw(DrawingContext& context);
protected:
+ int layer;
+
class Particle
{
public:
float virtual_width, virtual_height;
};
-class SnowParticleSystem : public ParticleSystem
+class SnowParticleSystem : public ParticleSystem, public Serializable
{
public:
SnowParticleSystem();
virtual ~SnowParticleSystem();
+ void parse(LispReader& reader);
+ void write(LispWriter& writer);
+
virtual void action(float elapsed_time);
std::string type() const
Surface* snowimages[3];
};
-class CloudParticleSystem : public ParticleSystem
+class CloudParticleSystem : public ParticleSystem, public Serializable
{
public:
CloudParticleSystem();
virtual ~CloudParticleSystem();
+ void parse(LispReader& reader);
+ void write(LispWriter& writer);
+
virtual void action(float elapsed_time);
std::string type() const