void ChuanqiduanzaoItem::rsp_DuanZao(CCObject *msg_f) { CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, MSG_DuanzaoRsp_F); GameDirector::getDirector()->hideWaiting(); Flat_DuanzaoRsp *data = (Flat_DuanzaoRsp*)((Flat_MSG_Rsp*)msg_f)->getData(); if (data->err_code != Success) { if (data->err_code == CEC_NoMoreFreeSpaceToStoreEquip) { EquipBagNotEnoughDialog *layer = new EquipBagNotEnoughDialog; layer->showGoToFenJieDialog(); } else { MessageDisplay *layer = MessageDisplay::create(CmdHelper::getHelper()->getMessage(data->err_code)); CCDirector::sharedDirector()->getRunningScene()->addChild(layer); } return; } //刷新头部金币 { int gold = 0; WuPin* wp = WuPinManager::getManager()->getWuPin(ItemsType_Gold); if (wp != NULL) { gold = wp->getCount(); } BaseSprite* header = MainLayerBase::getCurrentMainBase()->getHeader()->getHeaderContent(); CCLabelTTF* lable = (CCLabelTTF*)header->getChildByTag(STORE_FRAM_TAG_HEAD_JINBI); char str[64]; sprintf(str, "%d", gold); lable->setString(str); } ShenBingShangDianDuanZao *layer = new ShenBingShangDianDuanZao(data->equips); CCDirector::sharedDirector()->getRunningScene()->addChild(layer, 1000); layer->release(); }
void MainFooterLayer::getNewMessageInfo(CCNode* pInfoStr) { if (pInfoStr) { pInfoStr->removeFromParent(); } BaseSprite *messageBar = (BaseSprite*)this->getChildByTag(Tag_MessageInfoBar); if (messageBar) { NetLabelTTF* pLable = (NetLabelTTF*)messageBar->getChildByTag(Tag_MessageTipStr); if (!pLable) { if (SystemPushMessagePool::getPool()->getCurMsgCount() < 1) { messageBar->removeFromParent(); } else { MarqueeMessage info; if (SystemPushMessagePool::getPool()->getOneMessage(info)) { showMessageBar(info); } } } } else { MarqueeMessage info; // info.uid=186384394; // info.type = 5; // info.count=1; // sprintf(info.subject, "%s", "assdf"); if (SystemPushMessagePool::getPool()->getOneMessage(info)) { showMessageBar(info); } } }
BaseSprite* MainLayerZhuangBeiBaseBody::getItemContentByIndex(unsigned int index) { BaseSprite* bg = BaseSprite::create("mianban_zhuangbei_xiangxi.png"); CCString tempStr; CCPoint picPos = ccp(75.0f, bg->getContentSize().height/2); { ImageData diWenData = ImageManager::getManager()->getImageData_DiWen_List( mEquipmentVec[index]->getEquipColor(), false, mEquipmentVec[index]->isPartOfSuit(), mEquipmentVec[index]->haveZhuanke()); BaseSprite* diWen = BaseSprite::create(diWenData.getCurrentImageFile()); diWen->setScale(diWenData.scale); diWen->setPosition(picPos); bg->addChild(diWen,0,TAG_BaseBody_TABLE_ITEM_DiWen); { BaseSprite *sprite = ImageManager::getManager()->getSpriteOfZhuangbei(mEquipmentVec[index],true,true); //sprite->setScale(data.scale); sprite->setScale(0.43f); sprite->setPosition(picPos); bg->addChild(sprite,0,TAG_BaseBody_TABLE_ITEM_Image); } //封印 if (mEquipmentVec[index]->isInFengYin()) { BaseSprite *fyImg = BaseSprite::create("shenbing_fengyin_suo.png"); bg->addChild(fyImg, 0, TAG_BaseBody_TABLE_FengYin_Img); fyImg->setPosition(diWen->getPosition()); fyImg->setScale(diWen->getContentSize().width*diWen->getScale() / fyImg->getContentSize().width); } } // 添加图片识别区 { ImageData selecedData = ImageManager::getManager()->getImageData_DiWen_Selected( mEquipmentVec[index]->getEquipColor(), false,//mEquipmentVec[index]->isShenBing(), mEquipmentVec[index]->isPartOfSuit()); BaseSprite* menuItemSel = BaseSprite::create(selecedData.getCurrentImageFile()); menuItemSel->setScale(selecedData.scale); CCSprite* menuRect = CCSprite::createWithTexture(menuItemSel->getTexture()); menuRect->setScale(0.0f); FXScrollMenu *menu = FXScrollMenu::create( mTableView->getParent()->convertToWorldSpace(mTableView->getPosition()), mTableView->getViewSize()); bg->addChild(menu, 0, TAG_BaseBody_MENU); menu->setPosition(ccp(0,0)); CCMenuItemSprite* t = CCMenuItemSprite::create(menuRect,menuItemSel,this,SEL_MenuHandler(&MainLayerZhuangBeiBaseBody::itemImageClicked)); menu->addChild(t, 0, index); t->setPosition(picPos); } float left_x_start = 160 - 4; //名称 { CCLabelTTF* label; char str[64]; if (mEquipmentVec[index]->getEquipData().qianghua_data.qianghua_count != 0) { sprintf(str, "%s", mEquipmentVec[index]->getName().c_str()); } else { sprintf(str, "%s", mEquipmentVec[index]->getName().c_str()); } label = LF::lable(bg,str,ccp(left_x_start,190),24,fontStr_kaiti); label->setTag(TAG_BaseBody_LABLE_NAME); ccColor3B color = ImageManager::getManager()->getShowColor(mEquipmentVec[index]->getEquipColor(),false,mEquipmentVec[index]->isPartOfSuit()); label->setColor(color); } //类型 { std::string typeStr = CS::getZhuangbeiTypeName(mEquipmentVec[index]->getType(), mEquipmentVec[index]->getEquipColor()); CCLabelTTF* label; label = LF::lable(bg,typeStr,ccp(left_x_start,165),18,fontStr_kaiti); label->setTag(TAG_BaseBody_LABLE_TYPE); label->setColor(fonColor_CiYao); } //白字 { CCLabelTTF* label_baizhi = NULL; bool hasBaiZhi = false; { float baizi = 0; switch(mEquipmentVec[index]->getType()) { case ZhuangbeiType_DanshouJian: case ZhuangbeiType_ShuangshouBishou: case ZhuangbeiType_ShuangshouFu: case ZhuangbeiType_DanshouFazhang: case ZhuangbeiType_ShuangshouFazhang: case ZhuangbeiType_Gong: hasBaiZhi = true; baizi = mEquipmentVec[index]->getGongjiLiAfterQianghua(false); break; case ZhuangbeiType_Dunpai: case ZhuangbeiType_KuijiaZhong: case ZhuangbeiType_KuijiaQin: hasBaiZhi = true; baizi = mEquipmentVec[index]->getHuJiaZhiAfterQianghua(); break; default: break; } if (hasBaiZhi) { char str[64]; sprintf(str, "%.1f", baizi); label_baizhi = LF::lable(bg,str,ccp(left_x_start,126),60,fontStr_BookAntiqua); label_baizhi->setTag(TAG_BaseBody_LABLE_BAIZI); } else { label_baizhi = LF::lable(bg,"",ccp(left_x_start,126),60,fontStr_BookAntiqua); label_baizhi->setTag(TAG_BaseBody_LABLE_BAIZI); } } //junshang CCLabelTTF* label_junshang = LF::lable(bg,LFStrings::getValue("junshang"),ccp(0,0),20,fontStr_kaiti); label_junshang->setAnchorPoint(ccp(0, 0.5)); label_junshang->setPosition( ccp(label_baizhi->getPositionX()+label_baizhi->getContentSize().width+10, 116)); label_junshang->setTag(TAG_BaseBody_LABLE_JUNSHANG_TXT); if(hasBaiZhi) { label_junshang->setVisible(true); if(mEquipmentVec[index]->getEquipType() == EquipType_FangJu) label_junshang->setString(LFStrings::getValue("huJia").c_str()); } else { label_junshang->setVisible(false); } } //伤害详细 if (mEquipmentVec[index]->getEquipType() == EquipType_WuQi) { CCLabelTTF* label; char str[64]; sprintf(str, "%u-%u ", mEquipmentVec[index]->getEquipData().gongji_min , mEquipmentVec[index]->getEquipData().gongji_max); label = LF::lable(bg,str,ccp(left_x_start,87),20,fontStr_BookAntiqua); label->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_NUM); label->setColor(fonColor_CiYao); CCLabelTTF* label2; label2 = LF::lable(bg,LFStrings::getValue("dianShangHai") ,ccp(label->getPosition().x + label->getContentSize().width, label->getPositionY()),20,fontStr_kaiti); label2->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_TXT); label2->setColor(fonColor_CiYao); } else { CCLabelTTF* label; label = LF::lable(bg,"",ccp(left_x_start,87),20,fontStr_kaiti); label->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_NUM); CCLabelTTF* label2; label2 = LF::lable(bg,"" ,ccp(label->getPosition().x + label->getContentSize().width, label->getPositionY()),20,fontStr_kaiti); label2->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_TXT); } //等级 { CCLabelTTF* label; char str[64]; sprintf(str, "%s %u ", LFStrings::getValue("dengji").c_str(), mEquipmentVec[index]->getEquipData().zhuangbei_level); label = LF::lable(bg,str,ccp(left_x_start,28),20,fontStr_kaiti); label->setColor(fonColor_FaGuang); label->setTag(TAG_BaseBody_LABLE_Level); } //人物 { CCLabelTTF* label; int actorId = mEquipmentVec[index]->getActorId(); if (actorId != INVALID_ID) { BaseActor* actor = MyselfManager::getManager()->getMyTeamActor(actorId); CCAssert(actor!=NULL,""); BaseActorProperty prop = actor->getCurrentProperty(); label = LF::lable(bg,LF::getString("zhuangBeiYu")+prop.nameInChinese,ccp(0, 0),20,fontStr_kaiti); } else { label = LF::lable(bg,LF::getString("meiYouZhuangBei"),ccp(0, 0),20,fontStr_kaiti); } label->setColor(fonColor_FaGuang); label->setAnchorPoint(ccp(1, 0.5)); label->setPosition(ccp( 590, 200)); label->setTag(TAG_BaseBody_LABLE_OWNTO); if (actorId == INVALID_ID && mEquipmentVec[index]->getEquipData().profession_id != 0) { CCString temp; temp.initWithFormat("%s(%s)", LFStrings::getValue("ZhiYeXianZhi").c_str(), BaseActorPropertyParser::getParser()->getExtraProerty((Profession)mEquipmentVec[index]->getEquipData().profession_id).nameInChinese.c_str()); label->setString(temp.getCString()); label->setColor(fonColor_JingGao); } } //魔法属性 { int start_x = 400 + 38; Equipment* equip = mEquipmentVec[index]; std::vector<std::string> vec = equip->getAllMofaShuxing(false); //大于5个 第五个就是 ...... for(int i=0; i<vec.size(); ++i) { std::string txt = vec[i]; BaseSprite* biaoji = BaseSprite::create("zhuangbei_xiangxi_biaoji.png"); bg->addChild(biaoji, 0, TAG_BIAOJI+i); biaoji->setPosition(ccp(start_x, 170-i*28)); //biaoji->setOpacity(80); CCLabelTTF* label; label = LF::lable(bg,txt,ccp(0,0),20,fontStr_kaiti); label->setColor(ImageManager::getManager()->getShowColor(ZhuangbeiColour_Fumo, false, false)); label->setAnchorPoint(ccp(0, 0.5)); label->setPosition(ccp(start_x+15, 170-i*28)); label->setTag(i); if(vec.size()>6) { CCLog("Warrior:%s ---> equipment property > 6, current is [%d]", __FUNCTION__, vec.size()); // break; } } //洗练 string xxx; CCSprite *diwen = (CCSprite*)bg->getChildByTag(TAG_BaseBody_TABLE_ITEM_DiWen); if (equip->canPurify(xxx,1) && diwen) { ZhuangbeiOptionLevel *layer = ZhuangbeiOptionLevel::createWithEquipment(equip); bg->addChild(layer,20); //layer->setScale(1/diwen->getScale()); CCPoint pos = diwen->getPosition(); pos.x -= diwen->getContentSize().width * diwen->getScaleX() / 2; pos.y -= diwen->getContentSize().height * diwen->getScaleY() / 2; int width = pos.x + layer->getContentSize().width / 2 + 12; int height = pos.y + layer->getContentSize().height / 2 + 4; layer->setPosition(ccp(width,height)); } } bg->setPosition(ccp(bg->getContentSize().width/2,bg->getContentSize().height/2)); return bg; }
void MainFooterLayer::showMessageBar(MarqueeMessage info) { //system message info barbg BaseSprite *messageBar = (BaseSprite*)this->getChildByTag(Tag_MessageInfoBar); if (!messageBar) { messageBar = BaseSprite::create("zhuye_xitongtonggao.png"); this->addChild(messageBar, 100, Tag_MessageInfoBar); messageBar->setPosition(ccp(320, 1152-1039)); } //context NetLabelTTF* pLable = (NetLabelTTF*)messageBar->getChildByTag(Tag_MessageTipStr); if (pLable) { return; } NetTextListShowUI* pText = NetTextListShowUI::create(); //普通字符串 string firstStr = info.subject; string secondStr = ""; string thirdlyStr = ""; string fullStr = ""; string name = ""; int iCount = 0; ChuanQi chuanqiinfo; //传奇锻造 if (info.type == MarqueeType_ForgeLegend) { secondStr = LFStrings::getValue("Paomadeng_DuanZao_Chuanqi"); if (ChuanqiPool::getPool()->getChuanQiData(info.object.group_id, chuanqiinfo)) { name = chuanqiinfo.allChuanqiFenShenInLifeSpan.at(0).zhuangbei_name; } iCount = info.count; thirdlyStr = CCString::createWithFormat("*%d", iCount)->getCString(); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE) +pText->getConversionMsgStr(name, ImageManager::getManager()->getShowColor(ZhuangbeiColour_Chuanqi, true)) +pText->getConversionMsgStr(thirdlyStr, ccWHITE); } //杂货铺 else if (info.type == MarqueeType_VarietyStore) { secondStr = LFStrings::getValue("Paomadeng_Zahuopu"); string name = CS::getItemName(info.object.item_type); iCount = info.count; thirdlyStr = CCString::createWithFormat("*%d", iCount)->getCString(); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE) +pText->getConversionMsgStr(name, FX_CommonFunc::getCaiLiaoColor(info.object.item_type)) +pText->getConversionMsgStr(thirdlyStr, ccWHITE); } //传奇合成 else if (info.type == MarqueeType_Compound) { secondStr = LFStrings::getValue("Paomadeng_Hecheng_Chuanqi"); if (ChuanqiPool::getPool()->getChuanQiData(info.object.group_id, chuanqiinfo)) { name = chuanqiinfo.allChuanqiFenShenInLifeSpan.at(0).zhuangbei_name; } iCount = info.count; thirdlyStr = CCString::createWithFormat("*%d", iCount)->getCString(); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE) +pText->getConversionMsgStr(name, fonColor_PuTong) +pText->getConversionMsgStr(thirdlyStr, ccWHITE); } //巅峰对决 else if (info.type == MarqueeType_TopArena) { //四强,八强 if (info.object.round == 0) { secondStr = LFStrings::getValue("Paomadeng_Dianfengduijue"); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE); } //决赛 else if (info.object.round == 1) { secondStr = LFStrings::getValue("Paomadeng_Juesai"); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE); } //冠军 else if (info.object.round == 2) { secondStr = LFStrings::getValue("Paomadeng_Guanjun"); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE); } } //英雄榜 else if (info.type == MarqueeType_TopList) { if (info.object.top_order == 1) { firstStr = LFStrings::getValue("Paomadeng_Top1"); } else if (info.object.top_order == 2) { firstStr = LFStrings::getValue("Paomadeng_Top2"); } else if (info.object.top_order == 3) { firstStr = LFStrings::getValue("Paomadeng_Top3"); } secondStr = info.subject; thirdlyStr = LFStrings::getValue("Paomadeng_Shangxian"); fullStr = pText->getConversionMsgStr(firstStr, ccWHITE) +pText->getConversionMsgStr(secondStr, fonColor_FaGuang) +pText->getConversionMsgStr(thirdlyStr, ccWHITE); } //守护之灵 else if (info.type == MarqueeType_ProtectSpirit) { firstStr = ""; // secondStr = "MarqueeType_ProtectSpirit"; } //寻宝 破外封印 else if (info.type == MarqueeType_Discover_Destroy) { secondStr = LFStrings::getValue("Paomadeng_Xunbao_Pohuaifengyin"); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE) +pText->getConversionMsgStr(thirdlyStr, ccWHITE); } //寻宝 解封装备 else if (info.type == MarqueeType_Discover_Unlock) { secondStr = LFStrings::getValue("Paomadeng_Xunbao_Jiefeng"); if (ChuanqiPool::getPool()->getChuanQiData(info.object.group_id, chuanqiinfo)) { name = chuanqiinfo.allChuanqiFenShenInLifeSpan.at(0).zhuangbei_name; } iCount = info.count; thirdlyStr = CCString::createWithFormat("*%d", iCount)->getCString(); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_Wanjia"), ccWHITE) +pText->getConversionMsgStr(firstStr, fonColor_FaGuang) +pText->getConversionMsgStr(secondStr, ccWHITE) +pText->getConversionMsgStr(name, fonColor_PuTong) +pText->getConversionMsgStr(thirdlyStr, ccWHITE); } if (firstStr == "") { return; } if (!pLable) { pText->setTextWidth(this->getContentSize().width*10); pText->setTextSize(20); fullStr = pText->getConversionMsgStr(LFStrings::getValue("Paomadeng_XiTong"), ccWHITE) + fullStr; pText->addMessage(fullStr); NetLabelTTF* pLable = NetLabelTTF::create(pText->getMsgString().c_str(), fontStr_kaiti, 20); pLable->setMsgColorTexCoords(pText->getMsgColorTexCoordsList()); pLable->setHorizontalAlignment(kCCTextAlignmentLeft); pLable->setHeight(pText->getHeight()); messageBar->addChild(pLable, 101, Tag_MessageTipStr); pLable->setAnchorPoint(ccp(0.0f, 0.5f)); pLable->setPosition(ccp(messageBar->getContentSize().width, messageBar->getContentSize().height/2-7)); float distance = messageBar->getContentSize().width+pLable->getContentSize().width; float speed = 100.0f; float dt = 4.0f; dt = distance/speed; pLable->runAction(CCSequence::create( CCMoveBy::create(dt, ccp(-distance, 0)), CCCallFuncN::create(this, callfuncN_selector(MainFooterLayer::messageMoveDone)), CCDelayTime::create(3.0f), CCCallFuncN::create(this, callfuncN_selector(MainFooterLayer::getNewMessageInfo)), NULL)); } }