void PlatformEventController::stopUpdating() { if (!m_isActive) return; m_timer.stop(); unregisterWithDispatcher(); m_isActive = false; }
void DeviceEventControllerBase::stopUpdating() { if (!m_isActive) return; if (m_timer.isActive()) m_timer.stop(); unregisterWithDispatcher(); m_isActive = false; }
void _DelayedReleaser::update(float dt) { std::vector<cocos2d::Ref *> releaseFrames; auto itFrames = _frames.begin(); while (itFrames != _frames.end()) { if (itFrames->first->getReferenceCount() == 1) { if (itFrames->second == 0) { releaseFrames.push_back(itFrames->first); } else { itFrames->second --; } } itFrames ++; } for (auto &it : releaseFrames) { removeRef(it); _frames.erase(it); it->release(); } releaseFrames.clear(); if (_frames.empty()) { unregisterWithDispatcher(); } }