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

Method reloadTexture

core/2d/SpriteFrameCache.cpp:290–318  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

288}
289
290bool SpriteFrameCache::reloadTexture(std::string_view spriteSheetFileName)
291{
292 AXASSERT(!spriteSheetFileName.empty(), "plist filename should not be nullptr");
293 auto sheetId = computeHash(spriteSheetFileName);
294 const auto spriteSheetItr = _spriteSheets.find(sheetId);
295 if (spriteSheetItr == _spriteSheets.end())
296 {
297 return false; // Sprite sheet wasn't loaded, so don't reload it
298 }
299
300 const auto format = spriteSheetItr->second->format;
301
302 if (isSpriteSheetInUse(sheetId))
303 {
304 removeSpriteSheet(sheetId); // we've removed the associated entry, so spriteSheetItr is no longer valid
305 }
306 else
307 {
308 // If one plist hasn't be loaded, we don't load it here.
309 return false;
310 }
311
312 auto* loader = getSpriteSheetLoader(format);
313 if (loader)
314 {
315 loader->reload(spriteSheetFileName, *this);
316 }
317 return true;
318}
319
320void SpriteFrameCache::insertFrame(const std::shared_ptr<SpriteSheet>& spriteSheet,
321 std::string_view frameName,

Callers 5

reloadBMFontResourceMethod · 0.45
reloadMethod · 0.45
reloadMethod · 0.45
onEnterMethod · 0.45

Calls 5

computeHashFunction · 0.85
emptyMethod · 0.45
findMethod · 0.45
endMethod · 0.45
reloadMethod · 0.45

Tested by 2

reloadMethod · 0.36
onEnterMethod · 0.36