nuclear@0: #ifndef GAME_H_ nuclear@0: #define GAME_H_ nuclear@0: nuclear@0: class Part; nuclear@0: nuclear@0: extern Part *cur_part; nuclear@0: extern Part *game_part, *menu_part; nuclear@0: nuclear@0: class Part { nuclear@0: protected: nuclear@0: unsigned long current_time; nuclear@0: nuclear@0: public: nuclear@0: virtual ~Part(); nuclear@0: nuclear@2: virtual bool init(); nuclear@2: nuclear@3: virtual void start(); nuclear@3: virtual void stop(); nuclear@3: nuclear@0: virtual void update(unsigned long msec); nuclear@0: virtual void draw() const = 0; nuclear@0: nuclear@0: virtual void reshape(int x, int y); nuclear@0: virtual void key(int key, bool pressed); nuclear@0: virtual void mouse_button(int bn, bool pressed); nuclear@0: virtual void mouse_motion(int x, int y); nuclear@0: virtual void spaceball_motion(int x, int y, int z, int rx, int ry, int rz); nuclear@0: virtual void spaceball_button(int bn, bool pressed); nuclear@0: }; nuclear@0: nuclear@0: #endif /* GAME_H_ */