MCPcopy Create free account
hub / github.com/axmolengine/axmol / removeUnusedSpriteSheets

Method removeUnusedSpriteSheets

core/2d/SpriteFrameCache.cpp:181–206  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179}
180
181void SpriteFrameCache::removeUnusedSpriteSheets()
182{
183 std::vector<uint64_t> willRemoveSpriteSheetFileNames;
184 for (auto&& it : _spriteSheets)
185 {
186 bool isUsed = false;
187 for (auto&& frame : it.second->frames)
188 {
189 auto spriteFrame = findFrame(frame);
190 if (spriteFrame && spriteFrame->getReferenceCount() > 1)
191 {
192 isUsed = true;
193 break;
194 }
195 }
196
197 if (!isUsed)
198 willRemoveSpriteSheetFileNames.push_back(it.first);
199 }
200
201 for (auto& sheetId : willRemoveSpriteSheetFileNames)
202 {
203 AXLOGD("SpriteFrameCache: removing unused sprite sheet file : {}", sheetId);
204 removeSpriteSheet(sheetId);
205 }
206}
207
208void SpriteFrameCache::removeSpriteFrameByName(std::string_view name)
209{

Callers

nothing calls this directly

Calls 2

getReferenceCountMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected