#ifndef _MODELGLOBAL_H
#define _MODELGLOBAL_H

namespace Engine {
class EntityBase;

/** \brief Adds the function callback as command for the given name*/
unsigned int GetPlayerEntityId ();

/** \brief Returns the entity at the given world coordinates or NULL */
EntityBase* GetEntityAt(const vector3d &pos);

/** \brief Assigns the player to an Entity. All controls will be redirected to that player 
 *
 * This can be used to disable the controls of of the player by assinging
 * the special entity id of NullEntityId */
void SetPlayerEntityId(unsigned int entity_id);

/** \brief Returns the duration of the frame in seconds */
float GetFrameDuration ();

/** \brief Returns the number of seconds the application is running 
 *
 * \todo [low] rename GetTimeApplicationStart to a proper name!
 */
float GetDurationApplicationStart ();

// /** \brief Starts a timer with the given id that expires after sec seconds */
void StartTimer(const std::string &id, float sec);
 
// /** \brief Checks whether a timer expired */
bool CheckTimer(const std::string &id);

// /** \brief Checks whether a timer expired */
float GetTimer(const std::string &id);

}

#endif /* _MODELGLOBAL_H */

