#include "lisp/lisp.hpp"
#include "object/moving_sprite.hpp"
#include "script_interface.hpp"
+#include "video/surface.hpp"
/**
* A burning candle: Simple, scriptable level decoration.
public:
Candle(const lisp::Lisp& lisp);
virtual Candle* clone() const { return new Candle(*this); }
+ virtual void draw(DrawingContext& context);
HitResponse collision(GameObject& other, const CollisionHit& hit);
virtual void expose(HSQUIRRELVM vm, SQInteger table_idx);
virtual void unexpose(HSQUIRRELVM vm, SQInteger table_idx);
+ /**
+ * @name Scriptable Methods
+ * @{
+ */
void puff_smoke(); /**< spawn a puff of smoke */
-
bool get_burning(); /**< returns true if candle is lighted */
void set_burning(bool burning); /**< true: light candle, false: extinguish candle */
+ /**
+ * @}
+ */
private:
bool burning; /**< true if candle is currently lighted */
- std::string name; /**< user-defined name for use in scripts or empty string if not scriptable */
+ Surface candle_light_1; /**< drawn to lightmap */
+ Surface candle_light_2; /**< drawn to lightmap (alternative image) */
};