| 171 | } |
| 172 | |
| 173 | void PlayLayer::loadLevel(std::string_view levelStr) |
| 174 | { |
| 175 | |
| 176 | std::vector<std::string_view> objData = GameToolbox::splitByDelimStringView(levelStr, ';'); |
| 177 | std::vector<std::string_view> levelData = GameToolbox::splitByDelimStringView(objData[0], ','); |
| 178 | |
| 179 | objData.erase(objData.begin()); |
| 180 | |
| 181 | std::thread t_colorChannels([&]() |
| 182 | { |
| 183 | for (size_t i = 0; i < levelData.size() - 1; i += 2) |
| 184 | { |
| 185 | if (levelData[i] == "kS1") |
| 186 | { |
| 187 | _colorChannels.insert({1000, SpriteColor(ax::Color3B(GameToolbox::stof(levelData[i + 1]), 0, 0), 255, 0)}); |
| 188 | } |
| 189 | else if (levelData[i] == "kS2") |
| 190 | { |
| 191 | _colorChannels.at(1000)._color.g = GameToolbox::stof(levelData[i + 1]); |
| 192 | } |
| 193 | else if (levelData[i] == "kS3") |
| 194 | { |
| 195 | _colorChannels.at(1000)._color.b = GameToolbox::stof(levelData[i + 1]); |
| 196 | } |
| 197 | else if (levelData[i] == "kS4") |
| 198 | { |
| 199 | _colorChannels.insert({1001, SpriteColor(ax::Color3B(GameToolbox::stof(levelData[i + 1]), 0, 0), 255, 0)}); |
| 200 | } |
| 201 | else if (levelData[i] == "kS5") |
| 202 | { |
| 203 | _colorChannels.at(1001)._color.g = GameToolbox::stof(levelData[i + 1]); |
| 204 | } |
| 205 | else if (levelData[i] == "kS6") |
| 206 | { |
| 207 | _colorChannels.at(1001)._color.b = GameToolbox::stof(levelData[i + 1]); |
| 208 | } |
| 209 | else if (levelData[i] == "kS29") |
| 210 | { |
| 211 | auto colorString = GameToolbox::splitByDelimStringView(levelData[i + 1], '_'); |
| 212 | fillColorChannel(colorString, 1000); |
| 213 | } |
| 214 | else if (levelData[i] == "kS30") |
| 215 | { |
| 216 | auto colorString = GameToolbox::splitByDelimStringView(levelData[i + 1], '_'); |
| 217 | fillColorChannel(colorString, 1001); |
| 218 | } |
| 219 | else if (levelData[i] == "kS31") |
| 220 | { |
| 221 | auto colorString = GameToolbox::splitByDelimStringView(levelData[i + 1], '_'); |
| 222 | fillColorChannel(colorString, 1002); |
| 223 | } |
| 224 | else if (levelData[i] == "kS32") |
| 225 | { |
| 226 | auto colorString = GameToolbox::splitByDelimStringView(levelData[i + 1], '_'); |
| 227 | fillColorChannel(colorString, 1004); |
| 228 | } |
| 229 | else if (levelData[i] == "kS37") |
| 230 | { |
nothing calls this directly
no test coverage detected