void RequestList::useItem(CCObject* pSender) { if (pSender == NULL) { return; } CCMenuItemImage* sender = (CCMenuItemImage*)pSender; CCLOG("Call for useItem for tag = %d", sender->getTag()); if (sender->getTag() > _fbIncomingRequestList->count()) { return; } std::string messageToDisplay = ""; EziFBIncomingRequest* fbRequest = (EziFBIncomingRequest*)_fbIncomingRequestList->objectAtIndex(sender->getTag()); if (fbRequest->isConsumed()) { CCMessageBox("This item is already consumed.", "Consume Item Status"); return; } EziSocialWrapperNS::FB_REQUEST::TYPE requestType = fbRequest->getRequestType(); const char* senderName = fbRequest->getSender()->getName(); const char* requestTypeChar = ""; const char* message = ""; message = fbRequest->getMessage(); CCDictionary* giftDictionary = fbRequest->getDataDictionary(); switch (requestType) { case EziSocialWrapperNS::FB_REQUEST::REQUEST_INVITE: requestTypeChar = "Invite"; break; case EziSocialWrapperNS::FB_REQUEST::REQUEST_GIFT: requestTypeChar = "Gift"; break; case EziSocialWrapperNS::FB_REQUEST::REQUEST_CHALLENGE: requestTypeChar = "Challenge"; break; default: requestTypeChar = "Unknown"; break; } // Add the request Type messageToDisplay.append("Request Type = ").append(requestTypeChar).append("\n"); // Add the sender Name messageToDisplay.append("Sender = ").append(senderName).append("\n"); // Add the message. messageToDisplay.append("Message = ").append(message).append("\n"); if (giftDictionary && giftDictionary->count()>0) { CCArray* allKeys = giftDictionary->allKeys(); if (allKeys && allKeys->count() > 0) { messageToDisplay.append("Extra/Gift items sent:\n"); for (int i=0; i<allKeys->count(); i++) { CCString* key = (CCString*)allKeys->objectAtIndex(i); CCString* value = (CCString*)giftDictionary->objectForKey(key->getCString()); messageToDisplay.append(key->getCString()).append(": ").append(value->getCString()).append("\n"); } } } else { messageToDisplay.append("No Extra Items were sent by sender"); } CCMessageBox(messageToDisplay.c_str(), "Item Consumed!!! :)))"); EziFBIncomingRequestManager::sharedManager()->consumeItem(fbRequest); CCScene *pScene = CCScene::create(); RequestList *pLayer = RequestList::create(); pScene->addChild(pLayer); CCDirector::sharedDirector()->replaceScene(pScene); }
void RequestList::tableCellTouched(CCTableView *table, CCTableViewCell *cell) { CCLOG("cell touched at index: %i", cell->getIdx()); std::string messageToDisplay = ""; EziFBIncomingRequest* fbRequest = (EziFBIncomingRequest*)_fbIncomingRequestList->objectAtIndex(cell->getIdx()); EziSocialWrapperNS::FB_REQUEST::TYPE requestType = fbRequest->getRequestType(); const char* senderName = fbRequest->getSender()->getName(); const char* requestTypeChar = ""; const char* message = ""; message = fbRequest->getMessage(); CCDictionary* giftDictionary = fbRequest->getDataDictionary(); switch (requestType) { case EziSocialWrapperNS::FB_REQUEST::REQUEST_INVITE: requestTypeChar = "Invite"; break; case EziSocialWrapperNS::FB_REQUEST::REQUEST_GIFT: requestTypeChar = "Gift"; break; case EziSocialWrapperNS::FB_REQUEST::REQUEST_CHALLENGE: requestTypeChar = "Challenge"; break; default: requestTypeChar = "Unknown"; break; } // Add the request Type messageToDisplay.append("Request Type = ").append(requestTypeChar).append("\n"); // Add the sender Name messageToDisplay.append("Sender = ").append(senderName).append("\n"); // Add the message. messageToDisplay.append("Message = ").append(message).append("\n"); if (giftDictionary && giftDictionary->count()>0) { CCArray* allKeys = giftDictionary->allKeys(); if (allKeys && allKeys->count() > 0) { messageToDisplay.append("Extra/Gift items sent:\n"); for (int i=0; i<allKeys->count(); i++) { CCString* key = (CCString*)allKeys->objectAtIndex(i); CCString* value = (CCString*)giftDictionary->objectForKey(key->getCString()); messageToDisplay.append(key->getCString()).append(": ").append(value->getCString()).append("\n"); } } } else { messageToDisplay.append("No Extra Items were sent by sender"); } CCMessageBox(messageToDisplay.c_str(), "Request Details"); }