void GongJiang_EquipSelect::select() { CCTableViewCell* lastCell = mTableView->cellAtIndex(0); if (lastCell) { BaseSprite* bg = (BaseSprite*)lastCell->getChildByTag(TAG_EquipBaseBody_TABLE_ITEM); bool isFirstIn = false; // 先不管是否点击了图片 if(GameGuideManager::getManager()->isGuideNow(GameGuideManager::GID_GongJiang_QiangHua)) { //GameGuideManager::getManager()->setOneGuideStart(GameGuideManager::GID_GongJiang_SelectZhuangBei); //GameGuideManager::getManager()->setOneGuideEnd(GameGuideManager::GID_GongJiang_SelectZhuangBei); if (bg) { CCPoint pos = bg->getParent()->convertToWorldSpace(bg->getPosition()); GuideLayerBase *guideLayer1 = new GuideLayer_SimpleLayer; guideLayer1->init(bg->getContentSize(), ccp(pos.x,pos.y + bg->getContentSize().height / 2) , LFStrings::getValue("qiangxuanzezhuangbei"), NULL, false); //((GuideLayer_SimpleLayer*)guideLayer1)->setCallBack(this,SEL_CallFunc(&JiuGongGeLayer::GuiDeLayerCallBack)); CCDirector::sharedDirector()->getRunningScene()->addChild(guideLayer1, 128); } } } }
CCTableViewCell* TanSuoLayer::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCTableViewCell *cell = table->dequeueCell(); if (cell != NULL) { cell->removeAllChildren(); } else { cell = new CCTableViewCell(); cell->autorelease(); } if (table->getParent() != NULL) { CCSize cellSize = tableCellSizeForIndex(table, idx); Profession profId = mHeros.at(idx)->getCurrentProperty().profession; //head Profession 1-10 BaseSprite *headImg = BaseSprite::create(ImageManager::getManager()->getImageData_ProfessionHead(profId).getCurrentImageFile()); cell->addChild(headImg); headImg->setPosition(ccp(cellSize.width/2, 92)); //menu FXScrollMenu *menu = FXScrollMenu::create( table->getParent()->convertToWorldSpace(table->getPosition()), table->getViewSize()); cell->addChild(menu, 1); menu->setPosition(ccp(0,0)); CCMenuItemImage *item = CCMenuItemImage::create( "renxing_renwu_touxiang.png", "renxing_renwu_touxiang_select.png", "renxing_renwu_touxiang_select.png", this, menu_selector(TanSuoLayer::menuItemClicked_JieFenHeroSelect)); menu->addChild(item, 0, profId); m_lMenuItemList.push_back(item); item->setPosition(headImg->getPosition()); //name CCLabelTTF *nameLabel = CCLabelTTF::create(BaseActorPropertyParser::getParser()->getExtraProerty(profId).nameInChinese.c_str() , fontStr_kaiti, m_nFontSize); cell->addChild(nameLabel); nameLabel->setPosition(ccp(headImg->getPositionX() , headImg->getPositionY()-headImg->getContentSize().height/2-nameLabel->getContentSize().height/2)); nameLabel->setColor(ccc3(195, 145, 96)); } return cell; }
BaseSprite* MainLayerHerosBaseBody::getItemContentByIndex(unsigned int index) { BaseSprite* bg = BaseSprite::create("duiwu_yingxiong_bg.png"); bg->setPosition(ccp(bg->getContentSize().width/2,bg->getContentSize().height/2)); //图片 { ImageData data = ImageManager::getManager()->getImageData_ProfessionHead((Profession)mHerosVec[index]->getActorType()); CCLOG("----------------->%s",data.getCurrentImageFile().c_str()); BaseSprite *sprite = BaseSprite::create( data.getCurrentImageFile()); BaseSprite *sprite2 = BaseSprite::create( data.getCurrentImageFile()); BaseSprite *sprite3 = BaseSprite::create( data.getCurrentImageFile()); CCMenuItemSprite* heroItem = CCMenuItemSprite::create(sprite, sprite2, sprite3, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_heroImg)); CCMenu* menu = CCMenu::create(heroItem, NULL); bg->addChild(menu, 0, TAG_BaseBody_TABLE_HERO_IMG); heroItem->setPosition(ccp(74, bg->getContentSize().height/2)); menu->setPosition(CCPointZero); BaseSprite *biankuang = BaseSprite::create("renxing_renwu_touxiang_select.png"); bg->addChild(biankuang, 1); biankuang->setPosition(heroItem->getPosition()); BaseSprite *item = NULL; Profession iType = (Profession)mHerosVec[index]->getActorType(); if (iType == Profession_Yemanren) { item = BaseSprite::create("touxiang_jiaobiao_3.png"); } else if (iType == Profession_Chike) { item = BaseSprite::create("touxiang_jiaobiao_2.png"); } else if (iType == Profession_Fashi) { item = BaseSprite::create("touxiang_jiaobiao_1.png"); } else if (iType == Profession_Qishi) { item = BaseSprite::create("touxiang_jiaobiao_3.png"); } else if (iType == Profession_ShenJianShou) { item = BaseSprite::create("touxiang_jiaobiao_4.png"); } else if (iType == Profession_MiShu) { item = BaseSprite::create("touxiang_jiaobiao_1.png"); } else if (iType == Profession_WuSeng) { item = BaseSprite::create("touxiang_jiaobiao_5.png"); } else if (iType == Profession_YouXia) { item = BaseSprite::create("touxiang_jiaobiao_2.png"); } else if (iType == Profession_LieShou) { item = BaseSprite::create("touxiang_jiaobiao_4.png"); } else if (iType == Profession_WuShi) { item = BaseSprite::create("touxiang_jiaobiao_6.png"); } if (item) { item->setAnchorPoint(ccp(1, 0)); biankuang->addChild(item); item->setPosition(ccp(biankuang->getContentSize().width, 0)); } } //name HeroFixedPro info = BaseActorPropertyParser::getParser()->getExtraProerty((Profession)mHerosVec[index]->getActorType()); LF::lable(bg, info.nameInChinese,ccp(140, 106),22,fontStr_kaiti)->setTag(TAG_BaseBody_LABLE_NAME); // 英雄介绍 { Profession profId = mHerosVec[index]->getActorType(); CCLabelTTF *directionLabel = CCLabelTTF::create(getHeroDirectionByProfessionId(profId).c_str(), fontStr_kaiti, 20, CCSize(380, 0), kCCTextAlignmentLeft); bg->addChild(directionLabel, 1, Tag_Label_HeroDirection); directionLabel->setColor(ccc3(165, 125, 76)); directionLabel->setAnchorPoint(ccp(0, 1)); directionLabel->setPosition(ccp(140, 94)); } if (mFlag == 1) { CCMenuItemImage* chose = CCMenuItemImage::create( "duiwu_yingxiong_weixuanzhong.png" , "duiwu_yingxiong_weixuanzhong.png" , this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_choseHero)); chose->setPosition(558, 83); CCMenu* menu = CCMenu::create(chose, NULL); menu->setPosition(CCPointZero); bg->addChild(menu, 0, TAG_Menu); CCSprite* unlock = CCSprite::create("duiwu_yingxiong_unlock.png", CCRect(0, 0, 610, 129)); bg->addChild(unlock, 0, TAG_Unlock); unlock->setOpacity(200); unlock->setPosition(bg->getPosition()); int state = mChoseHeroState.at(index); if(state>=1 && state<=4) //已选中的 { chose->initWithNormalImage( "duiwu_yingxiong_xuanzhong.png" , "duiwu_yingxiong_xuanzhong.png" , "duiwu_yingxiong_xuanzhong.png" , this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_choseHero)); unlock->setVisible(false); } else if(state == 0 && mChoseNum<3) //未选中 可选的 { chose->initWithNormalImage( "duiwu_yingxiong_daixuan.png" , "duiwu_yingxiong_daixuan.png" , "duiwu_yingxiong_daixuan.png" , this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_choseHero)); unlock->setVisible(false); } else //选满了、不能选的 { bg->initWithFile("duiwu_yingxiong_bg_suoding.png"); } } else if (mFlag == 2) { if (mHerosVec.at(index)->canUnlock()) { //可解锁 CCMenuItemImage* kjsItem = CCMenuItemImage::create( "duiwu_yingxiong_jiesuo.png" , "duiwu_yingxiong_jiesuo.png" , this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_jiesuoHero)); kjsItem->setPosition(558, 83); kjsItem->setTag(index); CCMenu* menu = CCMenu::create(kjsItem, NULL); menu->setPosition(CCPointZero); bg->addChild(menu, 0, TAG_Menu); } else //还不能解锁 { //不能解锁 CCMenuItemImage* kjsItem = CCMenuItemImage::create( "duiwu_yingxiong_suoding.png" , "duiwu_yingxiong_suoding.png" , this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_jiesuoHero)); kjsItem->setPosition(558, 83); kjsItem->setTag(index); CCMenu* menu = CCMenu::create(kjsItem, NULL); menu->setPosition(CCPointZero); bg->addChild(menu, 0, TAG_Menu); CCSprite* unlock = CCSprite::create("duiwu_yingxiong_unlock.png", CCRect(0, 0, 610, 129)); bg->addChild(unlock, 0, TAG_Unlock); unlock->setOpacity(200); unlock->setPosition(bg->getPosition()); } } return bg; }
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; }