protected void PurgeDirector() { // cleanup scheduler Scheduler.UnscheduleAll(); // don't release the event handlers // They are needed in case the director is run again m_pTouchDispatcher.RemoveAllDelegates(); if (m_pRunningScene != null) { m_pRunningScene.OnExitTransitionDidStart(); m_pRunningScene.OnExit(); m_pRunningScene.Cleanup(); } m_pRunningScene = null; m_pNextScene = null; // remove all objects, but don't release it. // runWithScene might be executed after 'end'. m_pobScenesStack.Clear(); StopAnimation(); // purge bitmap cache CCLabelBMFont.PurgeCachedData(); // purge all managed caches CCAnimationCache.PurgeSharedAnimationCache(); CCSpriteFrameCache.PurgeSharedSpriteFrameCache(); CCTextureCache.PurgeSharedTextureCache(); // CCFileUtils.PurgeFileUtils(); // CCConfiguration.purgeConfiguration(); // cocos2d-x specific data structures CCUserDefault.PurgeSharedUserDefault(); // CCNotificationCenter.purgeNotificationCenter(); CCDrawManager.PurgeDrawManager(); m_NeedsInit = true; }
protected virtual CCAnimation ParsePropTypeAnimation(CCNode node, CCNode parent, CCBReader reader) { string animationFile = reader.ReadCachedString(); string animation = reader.ReadCachedString(); CCAnimation ccAnimation = null; // Support for stripping relative file paths, since ios doesn't currently // know what to do with them, since its pulling from bundle. // Eventually this should be handled by a client side asset manager // interface which figured out what resources to load. // TODO Does this problem exist in C++? animation = CCBReader.LastPathComponent(animation); animationFile = CCBReader.LastPathComponent(animationFile); if (!String.IsNullOrEmpty(animation)) { CCAnimationCache animationCache = CCAnimationCache.SharedAnimationCache; animationCache.AddAnimationsWithFile(animationFile); ccAnimation = animationCache.AnimationByName(animation); } return(ccAnimation); }
public static void PurgeSharedAnimationCache() { s_pSharedAnimationCache = null; }