예제 #1
0
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);
    
}
예제 #2
0
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");
}