58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
#include "../Database/ConfigManager.h"
|
|
#include "Config.h"
|
|
#include <iostream>
|
|
#include <windows.h>
|
|
|
|
|
|
Config* Config::instance = nullptr;
|
|
|
|
Config::Config()
|
|
{
|
|
try
|
|
{
|
|
GAME_HISTORY_LIMIT = getGameHistoryLimit();
|
|
BOARD_SIZE = getBoardSize();
|
|
BOARD_COLOR = getBoardColor();
|
|
BOARD_BORDER_COLOR = getBoardBorderColor();
|
|
SOUND = getSound();
|
|
SHOW_AVAILABLE_PLACES_FOR_PIECES = getShowAvailablePlacesForPieces();
|
|
HINT = getHint();
|
|
HINT_LIMIT = getHintLimit();
|
|
}
|
|
catch (int errorCode)
|
|
{
|
|
if (errorCode == 1)
|
|
{
|
|
system("cls");
|
|
std::cout << "An error acoured while opening Config.txt \nPerhaps another program is using it\nPress any key to continue";
|
|
getchar();
|
|
}
|
|
else if (errorCode == 2)
|
|
{
|
|
system("cls");
|
|
std::cout << "the inputed index is out of the bond of Config, the last index is 7\nPress any key to continue";
|
|
getchar();
|
|
}
|
|
else
|
|
{
|
|
system("cls");
|
|
std::cout << "Unexpected error acoured\nPress any key to continue";
|
|
getchar();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
Config* Config::getInstance()
|
|
{
|
|
if (!instance)
|
|
throw 3; // config not initialized
|
|
return instance;
|
|
}
|
|
|
|
|
|
void Config::initialize()
|
|
{
|
|
if (!instance)
|
|
instance = new Config();
|
|
} |