#include "stdafx.h"
#include "GameSettings.h"

// statische Variablen initialisieren:
GameSettings* GameSettings::mInstance = NULL;

const bool GameSettings::FULLSCREEN							= false;
const bool GameSettings::SHOWLOG							= true;        // das Spiel mit eingeblendetem Debug-Log starten oder nicht ?
const bool GameSettings::RENDER_BOUNDING_BOXES				= false;
const int GameSettings::LogFontSize							= 15;
const bool GameSettings::RENDER_BACKGROUND					= true;
const bool GameSettings::RENDER_ENEMIES						= true;
const bool GameSettings::ASSIMP_RENDER						= true;        // false == skip assimp render calls
const bool GameSettings::ASSIMP_IMPORT						= true;		// use the ASSIMP importer to load the asset
const bool GameSettings::ASSIMP_SAVE						= false;		// deserialize the imported asset (setting will automatically activate ASSIMP import)
const bool GameSettings::ASSIMP_LOAD						= false;			// load the previously serialized assimp asset from a file
const bool GameSettings::ASSIMP_COMPARE_ASSETS				= false;			// for serialization debugging: activate a code section where a second playercraft is loaded and checked against the imported one. ASSIMP_LOAD and ASSIMP_IMPORT need to be true for this to work
const float GameSettings::PLAYER_ROT_SPEED_X				= 0.3f;         // 0.3f     // die haupt-drehrichtung um die Z-Achse
const float GameSettings::PLAYER_ROT_SPEED_Y				= 0.3f;
const float GameSettings::PLAYER_ROT_SPEED_JAW				= 0.2f;         // wieviele grad pro ms neigt sich das plane wenn man in eine richtung steuert ?
const float GameSettings::PLAYER_ROT_MAX_JAW				= 30.0f;        // maximale neigung des planes (in grad)
const float GameSettings::PLAYER_SPEED_MAX					= 0.1f;         // maximale gesamtgeschwindigkeit
const float GameSettings::PLAYER_SPEED_NORMAL				= 0.01f;        // normale gesamtgeschwindigkeit
const float GameSettings::PLAYER_SPEED_MIN					= 0.001f;        // minimale gesamtgeschwindigkeit
const float GameSettings::PLAYER_ACCELERATION				= 0.0005f;      // änderung des gesamtgeschwindigkeit pro ms wenn accelerate gedrückt ist
const float GameSettings::PROJECTILE_SPEED_PLAYER			= 0.35f;
const float GameSettings::CAMERA_ZOOM_SPEED					= 0.3f;  
const float GameSettings::CAMERA_DEFAULT_POSZ				= -250.0f;  

const float GameSettings::ENEMY_SPEED						= 0.1f;




/** Singleton: gibt die einzige Instanz des DxWrappers zurück
*/
GameSettings* GameSettings::Instance(void)
{
	if (!GameSettings::mInstance)
		GameSettings::mInstance = new GameSettings();

	return GameSettings::mInstance;
}