bool CSpriteObject::init(CCDictionary* pObjectDict) { do { CC_BREAK_IF(!CObjectBase::init(pObjectDict)); CCString* fileType = getFileTypeFromDict(); CC_BREAK_IF(NULL == fileType); CCString* fileName = getFileNameFromDict(); CC_BREAK_IF(NULL == fileName); if (getMaxLevelFromDict() > 0) { fileName = CCString::createWithFormat("%s%d", fileName->getCString(), getLevel() - 1); } if (fileType->compare("ccbi") == 0) { fileName = CCString::createWithFormat("%s.ccbi", fileName->getCString()); CC_BREAK_IF(!setSpriteFromCcbi(fileName->getCString())); } else { CC_BREAK_IF(!setSprite(fileName->getCString())); } return true; } while (false); return false; }
CCSprite* TFSpriteObject::getFarmSprite() { if (pFarmSprite_) { return pFarmSprite_; } CCString* fileNameInFarm = getFileNameInFarmFromDict(); CCAssert(fileNameInFarm && strlen(fileNameInFarm->getCString()) > 0, "File name in farm is invalid."); if (getMaxLevelFromDict() > 0) { fileNameInFarm = CCString::createWithFormat("%s%d", fileNameInFarm->getCString(), getLevel() - 1); } pFarmSprite_ = CCSprite::createWithSpriteFrameName(fileNameInFarm->getCString()); CCAssert(pFarmSprite_, "Failed to create Farm Sprite."); return pFarmSprite_; }