CCNode::~CCNode(void) { CCLOGINFO( "cocos2d: deallocing" ); unregisterScriptHandler(); CC_SAFE_RELEASE(m_pActionManager); CC_SAFE_RELEASE(m_pScheduler); // attributes CC_SAFE_RELEASE(m_pCamera); CC_SAFE_RELEASE(m_pGrid); CC_SAFE_RELEASE(m_pShaderProgram); CC_SAFE_RELEASE(m_pUserObject); if(m_pChildren && m_pChildren->count() > 0) { CCObject* child; CCARRAY_FOREACH(m_pChildren, child) { CCNode* pChild = (CCNode*) child; if (pChild) { pChild->m_pParent = NULL; } }
CCNode::~CCNode(void) { CCLOGINFO( "cocos2d: deallocing" ); unregisterScriptHandler(); if (m_nUpdateScriptHandler) { CCScriptEngineManager::sharedManager()->getScriptEngine()->removeScriptHandler(m_nUpdateScriptHandler); } CC_SAFE_RELEASE(m_pActionManager); CC_SAFE_RELEASE(m_pScheduler); // attributes CC_SAFE_RELEASE(m_pCamera); CC_SAFE_RELEASE(m_pGrid); CC_SAFE_RELEASE(m_pShaderProgram); CC_SAFE_RELEASE(m_pUserObject); // m_pComsContainer m_pComponentContainer->removeAll(); CC_SAFE_DELETE(m_pComponentContainer); if(m_pChildren && m_pChildren->count() > 0) { CCObject* child; CCARRAY_FOREACH(m_pChildren, child) { CCNode* pChild = (CCNode*) child; if (pChild) { pChild->m_pParent = NULL; } }
void GameNetDelegate::registerScriptHandler(std::string event, LUA_FUNCTION funcID) { unregisterScriptHandler(event); m_callBacks[event] = funcID; }
void CCMenuItem::registerScriptHandler(int nHandler) { unregisterScriptHandler(); m_nScriptHandler = nHandler; LUALOG("[LUA] Add CCMenuItem script handler: %d", m_nScriptHandler); }
CCMenuItem::~CCMenuItem() { unregisterScriptHandler(); }
System::~System() { #if CC_ENABLE_SCRIPT_BINDING unregisterScriptHandler(); #endif }
void System::registerScriptHandler(int handler) { unregisterScriptHandler(); _scriptHandler=handler; }