CCCallFuncO * CCCallFuncO::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFuncO selector, CCObject* pObject) { CCCallFuncO *pRet = new CCCallFuncO(); if(pRet->initWithTarget(pSelectorTarget, selector, pObject)) { pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
CCCallFuncO * CCCallFuncO::create(CCObject* pSelectorTarget, SEL_CallFuncO selector, CCObject* pObject) { CCCallFuncO *pRet = new CCCallFuncO(); if (pRet && pRet->initWithTarget(pSelectorTarget, selector, pObject)) { CC_SAFE_AUTORELEASE(pRet); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
CCCallFuncO* CCCallFuncO::create ( CCObject* pSelectorTarget, SEL_CallFuncO pSelector, CCObject* pObject ) { CCCallFuncO* pRet = new CCCallFuncO ( ); if ( pRet && pRet->initWithTarget ( pSelectorTarget, pSelector, pObject ) ) { pRet->autorelease ( ); } else { CC_SAFE_DELETE ( pRet ); } return pRet; }
CCObject * CCCallFuncO::copyWithZone(CCZone* zone) { CCZone* pNewZone = NULL; CCCallFuncO* pRet = NULL; if(zone && zone->m_pCopyObject) //in case of being called at sub class pRet = (CCCallFuncO*)(zone->m_pCopyObject); else { pRet = new CCCallFuncO(); zone = pNewZone = new CCZone(pRet); } CCCallFunc::copyWithZone(zone); pRet->initWithTarget(m_pSelectorTarget, m_pCallFuncO, m_pObject); CC_SAFE_DELETE(pNewZone); return pRet; }
CCObject* CCCallFuncO::copyWithZone ( CCZone* pZone ) { CCZone* pNewZone = KD_NULL; CCCallFuncO* pRet = KD_NULL; if ( pZone && pZone->m_pCopyObject ) { pRet = (CCCallFuncO*) pZone->m_pCopyObject; } else { pRet = new CCCallFuncO ( ); pZone = pNewZone = new CCZone ( pRet ); } CCCallFunc::copyWithZone ( pZone ); pRet->initWithTarget ( m_pSelectorTarget, m_pCallFuncO, m_pObject ); CC_SAFE_DELETE ( pNewZone ); return pRet; }