00001
00026 #ifndef GAMEOBJECT_H_
00027 #define GAMEOBJECT_H_
00028
00029 #include "Textureable.h"
00030 #include "Colorable.h"
00031 #include "Renderable.h"
00032 #include "Updateable.h"
00033 #include "Mouseable.h"
00034 #include "KeyListener.h"
00035
00036 #include "TextureManager.h"
00037
00038 class CGameObject: public CRenderable,
00039 public CTextureable,
00040 public CUpdateable,
00041 public CMouseable,
00042 public CKeyListener,
00043 public CColorable {
00044 public:
00045 CGameObject();
00046 virtual ~CGameObject();
00047
00048 bool isVisible() {
00049 return m_visible;
00050 }
00051
00052 void show() {
00053 m_visible = true;
00054 }
00055
00056 void hide() {
00057 m_visible = false;
00058 }
00059
00060
00061 virtual void mouseMove(int x, int y) {
00062 }
00063
00064 virtual void mouseButtons(int button, int state, int x, int y) {
00065 }
00066
00067 virtual void keyboard(unsigned char key, int x, int y) {
00068 }
00069
00070 virtual void keyboardSpecial(int key, int x, int y) {
00071 }
00072
00073
00074 protected:
00075 bool m_visible;
00076
00077 };
00078
00079 #endif