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