示例#1
0
	void HGAssets::loadAssets()
	{
		lo("::loadAssets") << "loading local profiles" << endl; loadLocalProfiles();

		for(const auto& packPath : getScan<Mode::Single, Type::Folder>("Packs/"))
		{
			const auto& packPathStr(packPath.getStr());
			string packName{packPathStr.substr(6, packPathStr.size() - 7)}, packLua;
			for(const auto& p : getScan<Mode::Recurse, Type::File, Pick::ByExt>(packPath, ".lua")) packLua.append(getFileContents(p));

			ssvuj::Obj packRoot{getFromFile(packPath + "/pack.json")};
			ssvu::getEmplaceUptrMap<PackData>(packDatas, packName, packName, getExtr<string>(packRoot, "name"), getExtr<float>(packRoot, "priority"));
		}

		for(auto& p : packDatas)
		{
			const auto& pd(p.second);
			string packId{pd->id}, packPath{"Packs/" + packId + "/"};
			packIds.emplace_back(packId);
			packPaths.emplace_back(packPath);
			if(!levelsOnly) {	lo("::loadAssets") << "loading " << packId << " music\n";			loadMusic(packPath); }
			if(!levelsOnly) {	lo("::loadAssets") << "loading " << packId << " music data\n";		loadMusicData(packPath); }
								lo("::loadAssets") << "loading " << packId << " style data\n";		loadStyleData(packPath);
								lo("::loadAssets") << "loading " << packId << " level data\n";		loadLevelData(packPath);
			if(!levelsOnly) {	lo("::loadAssets") << "loading " << packId << " custom sounds\n";	loadCustomSounds(packId, packPath); }

			lo().flush();
		}
	}
示例#2
0
	void HGAssets::createLocalProfile(const string& mName)
	{
		ssvuj::Obj root;
		ssvuj::arch(root, "name", mName);
		ssvuj::arch(root, "scores", ssvuj::Obj{});
		ssvuj::writeToFile(root, "Profiles/" + mName + ".json");

		profileDataMap.clear();
		loadLocalProfiles();
	}
示例#3
0
	void HGAssets::createLocalProfile(const string& mName)
	{
		ssvuj::Obj root;
		root["name"] = mName;
		root["scores"] = {};
		ssvuj::writeToFile(root, "Profiles/" + mName + ".json");

		profileDataMap.clear();
		loadLocalProfiles();
	}