#ifndef EFFECT_H
#define EFFECT_H

#include "Sprite.h"

using namespace Salamander;

class CameraEvent;

class Effect : public Sprite
{
public:
	enum EffectType
	{
		MIDGROUND,
		FOREGROUND,
		RAIN
	};

public:
    Effect(EffectType type);
    virtual ~Effect();

    virtual void frame();

private:
	void onCameraEvent(const CameraEvent& event);
	void animateMidground();
	void animateForeground();
	void animateRain();

private:
	EffectType type_;
	double value1_;
	double value2_;
	double value3_;

	double wraplength_;

	Vec2 camera_;
};


#endif // EFFECT_H
