#ifndef GAME_FUNCTIONALITY_INTERFACE_H
#define GAME_FUNCTIONALITY_INTERFACE_H

#include "./uiSupport/controls.h"
#include <cassert>

/// Basic graphic render interface.
/**
*  Basic graphic render interface. This interface should be implemented by all graphic game applications.
*/
struct GameFunctionalityInterface
{
public:
	virtual void simulate( float dt )=0;	/**< Simulation method of game application. */
	virtual void render( void ) =0;			/**< Render method of game application. */
	virtual void handleKeyboard( Keyboard &keyboard )=0;	/**< Keyboard handle method of game applications. */
	virtual void handleMouse( Mouse &mouse )=0;	/**< Mouse handle method of game applications. */
};

#endif