// ====================================================== // Pole.h // ====================================================== #ifndef POLE_H #define POLE_H #include "Light.h" #include "Observer.h" #include "Pelican.h" #include "Subject.h" class Hint; class PoleVisitor; class Pole : public Observer, public Subject { public: void update(const Hint &); void accept(PoleVisitor &); Pole(int x, int y, Pelican &p); ~Pole(); private: Pelican &myPelican; void setTrafficLights(Pelican::PelicanState); void setWaitLight(bool); enum LightName { RED_LIGHT, YELLOW_LIGHT, GREEN_LIGHT, GREEN_MAN, RED_MAN }; Light *lights[RED_MAN + 1]; Light *waitLight; }; #endif