Newer
Older
Import / applications / HighwayDash / ports / Game / BaseGameState.h
#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