#ifndef SPACE_PLANET_GAME_INTERFACE_H
#define SPACE_PLANET_GAME_INTERFACE_H

#include "Camera\Viewer.h"
#include "softProj\Render\SpaceSky.h"
#include "softProj\Render\GameFunctionalityInterface.h"
#include "./cgSupport/CgShaderManager.h"
#include "./renderer/softProjRender.h"

class SpacePlanetGame : public GameFunctionalityInterface
{
private:
	
	BasicViewer basicViewer;
	ShaderManager &shader;

	SoftProjRender &renderer;

	vector< Model*> models;
	vector< Light* > lights;

public:
	SKYBOX::CloudySkyPlane cloudySky;
	SKYBOX::StandardSkyBox skyBox;

	SpacePlanetGame( SoftProjRender &renderer, ShaderManager &shader );
	void setModels(  vector< Model*> &models );
	void setLights(  vector< Light*> &lights );

	//---------------GAME INTERFACE-------------------
	virtual void simulate( float dt );
	virtual void render( void );
	virtual void handleKeyboard( Keyboard &keyboard );
	virtual void handleMouse( Mouse &mouse );
	//------------------------------------------------
};


#endif