* @copyright 2020 MyAAC * @link https://my-aac.org */ namespace MyAAC; class DataLoader { private static $locale; private static $startTime; /** * Load data from server */ public static function load() { self::$startTime = microtime(true); if(Items::loadFromXML()) { success(self::$locale['step_database_loaded_items'] . self::getLoadedTime()); } else { error(Items::getError()); } self::$startTime = microtime(true); if(Monsters::loadFromXML()) { success(self::$locale['step_database_loaded_monsters'] . self::getLoadedTime()); if(Monsters::getMonstersList()->hasErrors()) { self::$locale['step_database_error_monsters'] = str_replace('$LOG$', 'system/logs/error.log', self::$locale['step_database_error_monsters']); warning(self::$locale['step_database_error_monsters']); } } else { error(Monsters::getLastError()); } self::$startTime = microtime(true); if(NPCs::loadFromXML()) { success(self::$locale['step_database_loaded_npcs'] . self::getLoadedTime()); } else { error(self::$locale['step_database_error_npcs']); } self::$startTime = microtime(true); if(Spells::loadFromXML()) { success(self::$locale['step_database_loaded_spells'] . self::getLoadedTime()); } else { error(Spells::getLastError()); } self::$startTime = microtime(true); if (Towns::save()) { success(self::$locale['step_database_loaded_towns'] . self::getLoadedTime()); } else { warning(self::$locale['step_database_error_towns']); } self::$startTime = microtime(true); if(Weapons::loadFromXML()) { success(self::$locale['step_database_loaded_weapons'] . self::getLoadedTime()); } else { error(Weapons::getError()); } } public static function setLocale($locale) { self::$locale = $locale; } private static function getLoadedTime() { $endTime = round(microtime(true) - self::$startTime, 3); return ' (' . str_replace('$TIME$', $endTime, self::$locale['loaded_in_ms']) . ')'; } }