#ifndef GAMEMANAGER_H
#define GAMEMANAGER_H

#include "IManager.h"

using namespace Salamander;

namespace Salamander
{
	class ButtonEvent;
	class World;
}

class Camera;
class CameraEvent;
class Platform;

class GameManager : public IManager
{
    public:
		registerManager();
        GameManager();
        virtual ~GameManager();

        virtual bool startup();
        virtual bool shutdown();

        virtual void frame();

	private:
		void onButtonEvent(const ButtonEvent& event);
		void onCameraEvent(const CameraEvent& event);
		void generateForeground();
		void generateRain();

    private:
		World* world_;
		Camera* camera_;

		std::vector<std::string> platformnames_;
		std::vector<Platform*> obstacles_;
};


#endif // GAMEMANAGER_H
