bool GameBox::check() { checkWith(OrientationHori); checkWith(OrientationVert); if (readyToRemoveTiles->count() == 0) return false; int count = readyToRemoveTiles->count(); for (int i=0; i < count; i++) { GameTile* tile = (GameTile*)readyToRemoveTiles->objectAtIndex(i); tile->value = 0; if (tile->sprite) { tile->sprite->runAction(CCSequence::create(CCScaleTo::create(0.3f, 0.0f), CCCallFuncN::create(this, callfuncN_selector(GameBox::removeSprite)), NULL)); } } readyToRemoveTiles->removeAllObjects(); int maxCount = this->repair(); layer->runAction(CCSequence::create(CCDelayTime::create(kMoveTileTime * maxCount + 0.03f), CCCallFunc::create(this, callfunc_selector(GameBox::afterAllMoveDone)), NULL)); return true; }
bool GameBox::check() { checkWith(OrientationHori); checkWith(OrientationVert); printf("readyToRemoveTiles first %d \n" , readyToRemoveTiles->count()); if (readyToRemoveTiles->count() == 0) return false; int count = readyToRemoveTiles->count(); if (count > 0) { ((MCoinsGameScene*)layer)->eatPoint(count); } for (int i=0; i < count; i++) { GameTile* tile = (GameTile*)readyToRemoveTiles->objectAtIndex(i); tile->value = 0; if (tile->sprite != NULL) { CCFiniteTimeAction* action = CCSequence::create(CCScaleTo::create(0.3f, 0.0f), CCCallFuncN::create(this, callfuncN_selector(GameBox::removeSprite)), NULL); tile->sprite->runAction(action); } } readyToRemoveTiles->removeAllObjects(); int maxCount = this->repair(); readyToRemoveTiles->count(); printf("readyToRemoveTiles %d \n" , readyToRemoveTiles->count()); if (layer!= NULL) { layer->runAction(CCSequence::create(CCDelayTime::create(kMoveTileTime * maxCount + 0.03f), CCCallFunc::create(this, callfunc_selector(GameBox::afterAllMoveDone)), NULL)); } return true; }