CCGridAction* CCGridAction::create(const ccGridSize& gridSize, float duration) { CCGridAction *pAction = new CCGridAction(); if (pAction) { if (pAction->initWithSize(gridSize, duration)) { pAction->autorelease(); } else { CC_SAFE_DELETE(pAction); } } return pAction; }
NS_CC_BEGIN // implementation of CCGridAction CCGridAction* CCGridAction::actionWithSize(const ccGridSize& gridSize, ccTime duration) { CCGridAction *pAction = new CCGridAction(); if (pAction) { if (pAction->initWithSize(gridSize, duration)) { pAction->autorelease(); } else { CC_SAFE_DELETE(pAction); } } return pAction; }
CCObject* CCGridAction::copyWithZone(cocos2d::CCZone *pZone) { CCZone* pNewZone = NULL; CCGridAction* pCopy = NULL; if(pZone && pZone->m_pCopyObject) { //in case of being called at sub class pCopy = (CCGridAction*)(pZone->m_pCopyObject); } else { pCopy = new CCGridAction(); pZone = pNewZone = new CCZone(pCopy); } CCActionInterval::copyWithZone(pZone); pCopy->initWithSize(m_sGridSize, m_fDuration); CC_SAFE_DELETE(pNewZone); return pCopy; }