// Light.hpp : Level class // // 17.11.1998 / DH - Outsourced // // Copyright (c) 1998 Daniel Hartmeier. All rights reserved. #ifndef __Light__ #define __Light__ // ------------------------------------------------------------------- class Light { public: Light(int x, int y, int r, int g, int b, int radius, bool background = false); virtual ~Light(); virtual int x() const { return x_; } virtual int y() const { return y_; } virtual int r() const { return r_; } virtual int g() const { return g_; } virtual int b() const { return b_; } virtual void move(int x, int y) { x_ = x; y_ = y; return; } virtual void set(int r, int g, int b) { r_ = r; g_ = g; b_ = b; return; } virtual void update() { return; } virtual int radius() const { return radius_; } virtual void setRadius(int radius) { radius_ = radius; return; } virtual bool background() const { return background_; } protected: private: int x_, y_, r_, g_, b_, radius_; bool background_; }; // ------------------------------------------------------------------- class Torch : public Light { public: Torch(int x, int y, int r, int g, int b, int radius, bool background = false) : Light(x, y, r, g, b, radius, background), step(0), delta(0), br(r), bg(g), bb(b) {} virtual void update(); protected: private: int br, bg, bb; int step, delta; }; // ------------------------------------------------------------------- #endif