MCPcopy Create free account
hub / github.com/Open-GD/OpenGD / createWithResponse

Method createWithResponse

Source/GJGameLevel.cpp:31–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31GJGameLevel* GJGameLevel::createWithResponse(std::string_view backendResponse)
32{
33 GJGameLevel* level = new GJGameLevel();
34 if (!level) return nullptr;
35
36 if(!backendResponse.compare("-1"))
37 {
38 delete level;
39 return nullptr;
40 }
41 // -
42 // 1:6508283:2:ReTraY:3:VGhhbmtzIGZvciBwbGF5aW5nIEdlb21ldHJ5IERhc2g=:4:{levelString}:5:3:6:4993756:8:10:9:10:10:39431612:12:0:13:21:14:4125578:17::43:3:25::18:2:19:7730:42:0:45:20000:15:3:30:0:31:0:28:5 years:29:1 year:35:557117:36:0_733_0_0_0_0_574_716_0_0_352_78_729_0_42_0_833_68_0_347_0_38_240_205_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0:37:3:38:1:39:2:46:7729:47:13773:40:0:27:AwMABAYDBw==#eb541c03f8355c0709f8007a1d9a595ae5bedc5d#291568b26b08d70a198fca10a87c736a2823be0c
43
44 auto stuff = GameToolbox::splitByDelimStringView(backendResponse, ':');
45
46 std::map<std::string_view, std::string_view> levelResponse;
47
48 for (size_t i = 0; i < stuff.size(); i += 2)
49 {
50 if (!stuff[i + 1].empty())
51 levelResponse.insert({stuff[i], stuff[i + 1]});
52 }
53
54 if (levelResponse.contains("1")) level->_levelID = GameToolbox::stoi(levelResponse["1"]);
55 if (levelResponse.contains("2")) level->_levelName = _toString(levelResponse["2"]);
56 if (levelResponse.contains("3")) level->_description = _toString(levelResponse["3"]);
57 if (levelResponse.contains("4")) level->_levelString = _toString(levelResponse["4"]);
58 if (levelResponse.contains("5")) level->_version = GameToolbox::stoi(levelResponse["5"]);
59 if (levelResponse.contains("6")) level->_playerID = GameToolbox::stoi(levelResponse["6"]);
60 if (levelResponse.contains("8")) level->_difficultyDenominator = GameToolbox::stoi(levelResponse["8"]);
61 if (levelResponse.contains("9")) level->_difficultyNumerator = GameToolbox::stoi(levelResponse["9"]);
62 if (levelResponse.contains("10")) level->_downloads = GameToolbox::stoi(levelResponse["10"]);
63 if (levelResponse.contains("11")) level->_setCompletes = GameToolbox::stoi(levelResponse["11"]);
64 if (levelResponse.contains("12")) level->_officialSongID = GameToolbox::stoi(levelResponse["12"]);
65 if (levelResponse.contains("13")) level->_gameVersion = GameToolbox::stoi(levelResponse["13"]);
66 if (levelResponse.contains("14")) level->_likes = GameToolbox::stoi(levelResponse["14"]);
67 if (levelResponse.contains("15")) level->_length = GameToolbox::stoi(levelResponse["15"]);
68 if (levelResponse.contains("16")) level->_dislikes = GameToolbox::stoi(levelResponse["16"]);
69 if (levelResponse.contains("17")) level->_demon = GameToolbox::stoi(levelResponse["17"]);
70 if (levelResponse.contains("18")) level->_stars = GameToolbox::stoi(levelResponse["18"]);
71 if (levelResponse.contains("19")) level->_featureScore = GameToolbox::stoi(levelResponse["19"]);
72 if (levelResponse.contains("25")) level->_auto = GameToolbox::stoi(levelResponse["25"]);
73 if (levelResponse.contains("26")) level->_recordString = _toString(levelResponse["26"]);
74 if (levelResponse.contains("28")) level->_uploadDate = _toString(levelResponse["28"]);
75 if (levelResponse.contains("29")) level->_updateDate = _toString(levelResponse["29"]);
76 if (levelResponse.contains("30")) level->_copiedID = GameToolbox::stoi(levelResponse["30"]);
77 if (levelResponse.contains("35")) level->_songID = GameToolbox::stoi(levelResponse["35"]);
78 if (levelResponse.contains("37")) level->_coins = GameToolbox::stoi(levelResponse["37"]);
79 if (levelResponse.contains("38")) level->_verifiedCoins = GameToolbox::stoi(levelResponse["38"]);
80 if (levelResponse.contains("39")) level->_starsRequested = GameToolbox::stoi(levelResponse["39"]);
81 if (levelResponse.contains("40")) level->_LDM = GameToolbox::stoi(levelResponse["40"]);
82 if (levelResponse.contains("41")) level->_dailyNumber = GameToolbox::stoi(levelResponse["41"]);
83 if (levelResponse.contains("42")) level->_epic = GameToolbox::stoi(levelResponse["42"]);
84 if (levelResponse.contains("43")) level->_demonDifficulty = GameToolbox::stoi(levelResponse["43"]);
85 if (levelResponse.contains("44")) level->_gauntlet = GameToolbox::stoi(levelResponse["44"]);
86 if (levelResponse.contains("45")) level->_objects = GameToolbox::stoi(levelResponse["45"]);
87 if (levelResponse.contains("46")) level->_editorTime = GameToolbox::stoi(levelResponse["46"]);
88 if (levelResponse.contains("47")) level->_editorTimeTotal = GameToolbox::stoi(levelResponse["47"]);

Callers

nothing calls this directly

Calls 4

compareMethod · 0.80
sizeMethod · 0.80
emptyMethod · 0.80
_toStringFunction · 0.70

Tested by

no test coverage detected