#ifndef BASE_GAME_STATE_H
#define BASE_GAME_STATE_H
class GameGraphics;
namespace GameUi {
class DrawItems;
}
enum TouchState { TouchUp, TouchDown, TouchMove };
class BaseGameState
{
public:
BaseGameState() {}
virtual ~BaseGameState() {}
virtual void Enter(GameGraphics&) {}
virtual void Exit(GameGraphics&) {}
virtual void Draw(GameGraphics&) {}
virtual float GetTime() { return 0.0f; }
virtual void GetPlayerPos(float pos[3]) { pos[0] = pos[1] = pos[2] = 0.0f; } // temp func - replace with getting camera
virtual void GetCameras(float cameraParams[8], float lightParams[8], float debugCameraParams[8], float /*a_elapsed*/) { for (int i = 0; i < 8; i++) { cameraParams[i] = lightParams[i] = debugCameraParams[i] = 0.0f; } }
virtual bool Update(GameUi::DrawItems& /*items*/, float /*elapsed*/) { return false; }
//virtual void UpdateVariables(std::map<std::string,std::string>& /*variables*/) {}
virtual bool TouchesChanged(int /*x*/, int /*y*/, TouchState /*ts*/) { return false; }
virtual void GetScriptCallableFunctions(const struct luaL_Reg* &, int &count) { count = 0; }
};
#endif // BASE_GAME_STATE_H