StateContainer::StateContainer(int maxNumberOfUnits) { //check if there is a save file std::ifstream file(filename); //if there is one load the q values from it if (file.good()) { file.close(); LoadStates(); } //otherwise create a blank file else { file.close(); this->maxNumberOfUnits = maxNumberOfUnits; for (DistanceToEnemy i = DistanceToEnemy::VeryClose; i < DistanceToEnemy::DistanceEnumSize; i = (DistanceToEnemy)(i + 1)) { for (HealthOfUnit j = HealthOfUnit::Critical; j < HealthOfUnit::HPEnumSize; j = (HealthOfUnit)(j + 1)) { for (int k = 0; k < maxNumberOfUnits + 1; k++) { State s1(false, i, k, j); State s2(true, i, k, j); states.push_back(s1); states.push_back(s2); } } } SaveStates(); } //currentState = states.end(); }
bool Mud::startMud() { // Create a stopwatch for general timing information. Stopwatch<std::chrono::milliseconds> stopwatch("Boot"); Logger::log(LogLevel::Global, "#--------------------------------------------#"); Logger::log(LogLevel::Global, " XXXXXXXXXXXXX "); Logger::log(LogLevel::Global, " /'--_###XXXXXXXXXXXXXXXXXXX###_--'\\ "); Logger::log(LogLevel::Global, " \\##/#/#XXXXXXXXXXXXXXXXXXXXX#\\#\\##/ "); Logger::log(LogLevel::Global, " \\/#/#XXXXXXXXXXXXXXXXXXXXXXX#\\#\\/ "); Logger::log(LogLevel::Global, " \\/##XXXXXXXXXXXXXXXXXXXXXXX##\\/ "); Logger::log(LogLevel::Global, " ###XXXX ''-.XXX.-'' XXXX### "); Logger::log(LogLevel::Global, " \\XXXX XXXX/ "); Logger::log(LogLevel::Global, " XXXXXXXXXXXXXXXXXXXXX "); Logger::log(LogLevel::Global, " XXXX XXXX X XXXX XXXX "); Logger::log(LogLevel::Global, " XXX # XXX X XXX # XXX "); Logger::log(LogLevel::Global, " /XXXX XXX XXX XXX XXXX\\ "); Logger::log(LogLevel::Global, " ##XXXXXXX X X XXXXXXX## "); Logger::log(LogLevel::Global, " ## XOXXX X X XXXOX ## "); Logger::log(LogLevel::Global, " ## #XXXX XXX XXX # ## "); Logger::log(LogLevel::Global, " ##..## XXXXXXXXX ##..## "); Logger::log(LogLevel::Global, " ### XXXXX #### "); Logger::log(LogLevel::Global, "#--------------------------------------------#"); Logger::log(LogLevel::Global, "| RadMud |"); Logger::log(LogLevel::Global, "| Created by : Enrico Fraccaroli. |"); Logger::log(LogLevel::Global, "| Date : 29 September 2014 |"); Logger::log(LogLevel::Global, "#--------------------------------------------#"); Logger::log(LogLevel::Global, "Booting..."); Logger::log(LogLevel::Global, "Initializing Mud Variables..."); if (!this->initVariables()) { Logger::log(LogLevel::Error, "Something gone wrong during variables initialization."); return false; } Logger::log(LogLevel::Global, "Initializing Commands..."); LoadCommands(); Logger::log(LogLevel::Global, "Initializing States..."); LoadStates(); Logger::log(LogLevel::Global, "Initializing MSDP States..."); LoadProtocolStates(); Logger::log(LogLevel::Global, "Initializing Database..."); if (!this->initDatabase()) { Logger::log(LogLevel::Error, "Something gone wrong during database initialization."); return false; } Logger::log(LogLevel::Global, "Initializing Communications..."); if (!this->initComunications()) { Logger::log(LogLevel::Error, "Something gone wrong during initialization of comunication."); return false; } Logger::log(LogLevel::Global, "Booting Done (" + ToString(stopwatch.elapsed()) + ")."); return true; }
void Application::createScene() { if (getStatisticInfo() != nullptr) getStatisticInfo()->setVisible(false); std::string layerCategory = MyGUI::LayerManager::getInstance().getCategoryName(); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::RTTLayer>(layerCategory); std::string subWidgetCategory = MyGUI::SubWidgetManager::getInstance().getCategoryName(); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::FilterNone>(subWidgetCategory); new SettingsManager(); SettingsManager::getInstance().loadSettingsFile(MyGUI::DataManager::getInstance().getDataPath("Settings.xml")); std::string userSettingsFileName = SettingsManager::getInstance().getValue("Editor/UserSettingsFileName"); if (!userSettingsFileName.empty()) SettingsManager::getInstance().loadUserSettingsFile(userSettingsFileName); new HotKeyManager(); HotKeyManager::getInstance().initialise(); LoadGuiSettings(); std::string language = SettingsManager::getInstance().getValue("Settings/InterfaceLanguage"); if (language.empty() || language == "Auto") { if (!mLocale.empty()) MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); } else { MyGUI::LanguageManager::getInstance().setCurrentLanguage(language); } new CommandManager(); CommandManager::getInstance().initialise(); new WidgetSelectorManager(); WidgetSelectorManager::getInstance().initialise(); new WidgetCreatorManager(); WidgetCreatorManager::getInstance().initialise(); new MessageBoxManager(); MessageBoxManager::getInstance().initialise(); new DialogManager(); DialogManager::getInstance().initialise(); new WidgetTypes(); WidgetTypes::getInstance().initialise(); new EditorWidgets(); EditorWidgets::getInstance().initialise(); new BackwardCompatibilityManager(); BackwardCompatibilityManager::getInstance().initialise(); new UndoManager(); UndoManager::getInstance().initialise(EditorWidgets::getInstancePtr()); new StateManager(); StateManager::getInstance().initialise(); new GroupMessage(); GroupMessage::getInstance().initialise(); new RecentFilesManager(); RecentFilesManager::getInstance().initialise(); new ColourManager(); ColourManager::getInstance().initialise(); new EditorToolTip(); EditorToolTip::getInstance().initialise(); new PropertyFieldManager(); PropertyFieldManager::getInstance().initialise(); new GridManager(); GridManager::getInstance().initialise(); MyGUI::ResourceManager::getInstance().load("Initialise.xml"); bool maximized = SettingsManager::getInstance().getValue<bool>("Controls/Main/Maximized"); setWindowMaximized(maximized); if (!maximized) { MyGUI::IntCoord windowCoord = SettingsManager::getInstance().getValue<MyGUI::IntCoord>("Controls/Main/Coord"); setWindowCoord(windowCoord); } CommandManager::getInstance().getEvent("Command_StatisticInfo")->connect(this, &Application::command_StatisticInfo); CommandManager::getInstance().getEvent("Command_FocusVisible")->connect(this, &Application::command_FocusVisible); CommandManager::getInstance().getEvent("Command_ScreenShot")->connect(this, &Application::command_ScreenShot); CommandManager::getInstance().getEvent("Command_QuitApp")->connect(this, &Application::command_QuitApp); CommandManager::getInstance().getEvent("Command_UpdateAppCaption")->connect(this, &Application::command_UpdateAppCaption); LoadStates(); }
void Application::createScene() { new SettingsManager(); SettingsManager::getInstance().loadSettingsFile(MyGUI::DataManager::getInstance().getDataPath("Settings.xml")); std::string userSettingsFileName = SettingsManager::getInstance().getValue("Editor/UserSettingsFileName"); if (!userSettingsFileName.empty()) SettingsManager::getInstance().loadUserSettingsFile(userSettingsFileName); new HotKeyManager(); HotKeyManager::getInstance().initialise(); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::FilterNone>("BasisSkin"); LoadGuiSettings(); std::string language = SettingsManager::getInstance().getValue("Settings/InterfaceLanguage"); if (language.empty() || language == "Auto") { if (!mLocale.empty()) MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); } else { MyGUI::LanguageManager::getInstance().setCurrentLanguage(language); } new RecentFilesManager(); RecentFilesManager::getInstance().initialise(); new CommandManager(); CommandManager::getInstance().initialise(); new ActionManager(); ActionManager::getInstance().initialise(); new ExportManager(); ExportManager::getInstance().initialise(); new MessageBoxManager(); MessageBoxManager::getInstance().initialise(); new DialogManager(); DialogManager::getInstance().initialise(); new StateManager(); StateManager::getInstance().initialise(); new ColourManager(); ColourManager::getInstance().initialise(); new GridManager(); GridManager::getInstance().initialise(); new ScopeManager(); ScopeManager::getInstance().initialise(); new tools::DataTypeManager(); tools::DataTypeManager::getInstance().initialise(); std::string dataTypeFileName = SettingsManager::getInstance().getValue("Editor/DataTypeFileName"); if (!dataTypeFileName.empty()) tools::DataTypeManager::getInstance().load(dataTypeFileName); new tools::DataManager(); tools::DataManager::getInstance().initialise(); new tools::DataSelectorManager(); tools::DataSelectorManager::getInstance().initialise(); bool maximized = SettingsManager::getInstance().getValue<bool>("Controls/Main/Maximized"); setWindowMaximized(maximized); if (!maximized) { MyGUI::IntCoord windowCoord = SettingsManager::getInstance().getValue<MyGUI::IntCoord>("Controls/Main/Coord"); setWindowCoord(windowCoord); } CommandManager::getInstance().getEvent("Command_ScreenShot")->connect(this, &Application::command_ScreenShot); CommandManager::getInstance().getEvent("Command_QuitApp")->connect(this, &Application::command_QuitApp); CommandManager::getInstance().getEvent("Command_UpdateAppCaption")->connect(this, &Application::command_UpdateAppCaption); CreateControls(); LoadStates(); }