コード例 #1
0
bool GameLoading::init()
{
	if (Layer::init())
	{
		loginUI = NodeGrid::create(); 
		//将UILayer层加入到当前的场景 
		this->addChild(loginUI); 
		Layout *m_pWidget = dynamic_cast<Layout*>(cocostudio::GUIReader::shareReader()->widgetFromJsonFile("login_1.json"));
		loginUI->addChild(m_pWidget);

		startBtn = dynamic_cast<Button*> (Helper::seekWidgetByName(m_pWidget, "btn_start"));

		startBtn->setPressedActionEnabled(true);
		startBtn->setBright(true);

		startBtn->addTouchEventListener(this, SEL_TouchEvent(&GameLoading::startGameTouchListener));

		this->schedule(schedule_selector(GameLoading::doing), 0.0f, kRepeatForever, 1);

		_res = new CommonRes();
		_res->load();

		_waveAction = WaterWaveAction::create(10000, Size(200, 200));
		loginUI->runAction(_waveAction);
		
		_lastUpdate = new struct timeval;
		
		setTouchMode(Touch::DispatchMode::ONE_BY_ONE);
		setTouchEnabled(true);

		return true;
	}

	return false;
}
コード例 #2
0
ファイル: PetUI.cpp プロジェクト: SmallRaindrop/LocatorApp
void CPetUI::updatePetList()
{

	Widget* temp_pet_head_ = (Widget*)Helper::seekWidgetByName(m_pWidget, "PetHead_panel");

	for (int i = 0;i<6;++i)
	{
		Widget* pet_head_ = temp_pet_head_->clone();

		CheckBox* checbox_ = (CheckBox*)Helper::seekWidgetByName(pet_head_, "checkbox");
		checbox_->setTag(i);
		checbox_->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickCheckBox));

		Text* qianghua_lv_ = (Text*)Helper::seekWidgetByName(pet_head_, "qianghua_lv");
		qianghua_lv_->enableOutline( Color4B(1,46,13,255) ,2);

		Text* lv_ = (Text*)Helper::seekWidgetByName(pet_head_, "lv");
		qianghua_lv_->enableOutline( Color4B(0,0,0,255) ,2);

		if (i == 0)
		{
			checbox_->setSelectedState(true);
			clickCheckBox(checbox_,TOUCH_EVENT_ENDED);
		}

		m_listView_pet->pushBackCustomItem(pet_head_);
	}

}
コード例 #3
0
void CScrollList::SetCurGroup(string strGroupName)
{
	bool bExist = false;
	if (GetGroup(strGroupName) == NULL)
	{
		GroupInfo group = {strGroupName, NULL, NULL, 0, true};
		group.pGroupTitle = gCtrlAllocator->LoadCtrl(m_nGroupBGID);
		if (group.pGroupTitle)
		{
			Text *pText = Text::create(strGroupName, "Helvetica", m_nFontSize);
			Size szTitle = group.pGroupTitle->getSize();
			pText->setPosition(Point(szTitle.width / 2, szTitle.height / 2));
			pText->setColor(Color3B(0xEA, 0xC1, 0x84));
			group.pGroupTitle->addChild(pText);
			group.pGroupTitle->setAnchorPoint(Point(0.5, 1.f));
			group.pGroupTitle->setTag(m_vtrGroupInfo.size());
			group.pGroupTitle->setTouchEnabled(true);
			group.pGroupTitle->addTouchEventListener(m_bGourpBGClickable ? this : 0, SEL_TouchEvent(&CScrollList::ClickGroupTitle));
			addChild(group.pGroupTitle);
			m_vtrGroupInfo.push_back(group);
			m_strCurGroup = strGroupName;

			LayOut();
		}
	}
}
コード例 #4
0
ファイル: MailUI.cpp プロジェクト: SmallRaindrop/LocatorApp
bool CMailUI::onInit()
{
	do 
	{
		BREAK_IF(!GameUI::onInit());

		Button *pCloseBtn = (Button*)Helper::seekWidgetByName(m_pWidget, "close_btn");
		BREAK_IF(pCloseBtn==NULL);
		pCloseBtn->setButtonSpriteGray();
		pCloseBtn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickCloseButton));

		Button *pDeleteReadBtn = (Button*)Helper::seekWidgetByName(m_pWidget, "del_btn");
		BREAK_IF(pDeleteReadBtn==NULL);
		pDeleteReadBtn->setButtonSpriteGray();
		pDeleteReadBtn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickDeleteReadButton));

		Button *pGetAllBtn = (Button*)Helper::seekWidgetByName(m_pWidget, "getAll_btn");
		BREAK_IF(pGetAllBtn==NULL);
		pGetAllBtn->setButtonSpriteGray();
		pGetAllBtn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickGetAllButton));

		m_get_award_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "get_btn");
		BREAK_IF(m_get_award_btn==NULL);
		m_get_award_btn->setButtonSpriteGray();
		m_get_award_btn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickGetAwardButton));
		m_get_award_btn->setVisible(false);

		auto temp_mail_list_ = (ListView*)(Helper::seekWidgetByName(m_pWidget, "mail_list"));
	    mail_list_slider = dynamic_cast<Slider*>(Helper::seekWidgetByName(m_pWidget, "slider"));

		m_mail_content_txt = (Text*)(Helper::seekWidgetByName(m_pWidget, "content_text"));
		m_mail_title_txt = (Text*)(Helper::seekWidgetByName(m_pWidget, "title_text"));
		m_mail_title_txt->setColor(Color3B(222,209,164));
		m_mail_award_srcoll = (ScrollView*)(Helper::seekWidgetByName(m_pWidget, "award_scroll"));

		m_mail_content_txt->setText("");
		m_mail_title_txt->setText("");

		m_mail_list = temp_mail_list_;
		m_mail_list->setItemsMargin(5);

		return true;
	} while (0);

	return false;
}
コード例 #5
0
ファイル: LuckLayer.cpp プロジェクト: joyfish/Zombie
bool LuckLayer::init()
{

	CCLayer::init();
	TouchGroup* m_pUiLayer = TouchGroup::create();
//	UILayer *m_pUiLayer = UILayer::create();
	addChild(m_pUiLayer);
	m_isFirstLucy = CCUserDefault::sharedUserDefault()->getBoolForKey("firstlucky",true);





	Layout* m_pPanel = dynamic_cast<Layout*>(GUIReader::shareReader()->widgetFromJsonFile("giftlayer/choujiang.json"));

	m_pUiLayer->addWidget(m_pPanel);

	UIImageView * item = dynamic_cast<UIImageView*> (m_pPanel->getChildByName("item"));

	for (int i = 0; i < 6;i++)
	{
		char name[40];

		sprintf(name,"item%02d",i+1);
		m_items[i] = dynamic_cast<UIImageView*>(item->getChildByName(name));

	}

	UIImageView * back = dynamic_cast<UIImageView*>(m_pPanel->getChildByName("back"));
	UIImageView * sure = dynamic_cast<UIImageView*>(m_pPanel->getChildByName("sure"));
	back->setVisible(false);
	m_label = dynamic_cast<UILabel*>(m_pPanel->getChildByName("tip"));
	m_light = dynamic_cast<UIImageView*>(m_pPanel->getChildByName("light"));

	m_label->setText(_text("tip"));
	back->addTouchEventListener(this, SEL_TouchEvent(&LuckLayer::onBackClick));
	sure->addTouchEventListener(this, SEL_TouchEvent(&LuckLayer::onSureClick));
	m_awardIndex = -1;

	m_interval = 0.0;
	m_totalTime = 5.0;
	return true;
}
コード例 #6
0
bool GamePromptCenter::initSystemIcons()
{
	Button* pBtn = NULL;

	pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu");
	m_Icons.push_back(make_pair(pBtn,false));
	setIconMailMsgNum(0);

	pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu");
	m_Icons.push_back(make_pair(pBtn,false));

	pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu");
	m_Icons.push_back(make_pair(pBtn,false));

	pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu");
	m_Icons.push_back(make_pair(pBtn,false));

	GetIconTeam()->setPosition(Point(340,0));
	setIconTeamMsgNum(0);

	GetIconChat()->setVisible(false);
	GetIconMail()->setVisible(false);
	GetIconTrade()->setVisible(false);

	m_pIconsFrame->addChild(GetIconMail());
	m_pIconsFrame->addChild(GetIconChat());
	m_pIconsFrame->addChild(GetIconTeam());
	m_pIconsFrame->addChild(GetIconTrade());

	GetIconMail()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconMailClicked));
	GetIconChat()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconChatClicked));
	GetIconTeam()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconTeamClicked));
	GetIconTrade()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconTradeClicked));

	return true;
}
コード例 #7
0
bool ChatMainUI::onInit()
{
	if (!GameUI::onInit())
	{
		return false;
	}
	Widget *pMain = Helper::seekWidgetByName(m_pWidget, "MsgParent");
	//最近消息
	m_pListBG = Helper::seekWidgetByName(m_pWidget, "Image_list");
	m_pLastMsgs = CScrollTable::create(false, "RecentChatBtn");
	m_pLastMsgs->setSize(Size(714, 196));
	m_pLastMsgs->setPosition(Point(0,0));
	m_pLastMsgs->SetFontSize(16);
	m_pLastMsgs->SetSelectEvent(this, SEL_SelListIndexEvent(&ChatMainUI::clickLatestMenu));
	m_pLastMsgs->SetFormat(TCT_NODE_PTR, 10, 0.5, 0.5,TCT_NONE);
	m_pListBG->addChild(m_pLastMsgs);
	m_pListBG->setEnabled(false);

	m_pNewMsgSign = Helper::seekWidgetByName(m_pWidget,"NewMsgCome");
	m_pNewMsgSign->setEnabled(false);

	Button *pClose	= (Button*)Helper::seekWidgetByName(m_pWidget, "Button_Exit");
	Button *pSend	= (Button*)Helper::seekWidgetByName(m_pWidget, "Button_Send");
	m_pLatest	= (Button*)Helper::seekWidgetByName(m_pWidget, "Button_LatestMsgs");
	m_pVoice		= (Button*)Helper::seekWidgetByName(m_pWidget, "Button_Voice");
	pClose->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickExit));
	pSend->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickSendMsg));
	m_pLatest->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickLatestMsg));
	m_pVoice->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickVoice));

	m_pInput = (TextField*)Helper::seekWidgetByName(m_pWidget, "TextField_MsgInput");
	m_pInput->addEventListenerTextField(this, SEL_TextFieldEvent(&ChatMainUI::InputText));
	m_pInput->setVisible(false);
	m_pDisplayedInput = RichText::create();
	m_pDisplayedInput->ignoreContentAdaptWithSize(true);
	m_pDisplayedInput->setPosition(m_pInput->getPosition());

	m_pScrollEditBox = ScrollEditBox::create(m_pDisplayedInput);
	m_pScrollEditBox->setSize(m_pInput->getSize());
	m_pScrollEditBox->setPosition(Point(10, 10));
	m_pInput->getParent()->addChild(m_pScrollEditBox);

	// 光标
	m_pCursor = Text::create();
	m_pCursor->setFontSize(25);
	m_pCursor->setText("I");
	m_pCursor->runAction(RepeatForever::create(Blink::create(1.0f, 1)));
	m_pCursor->retain();

	//表情
	Button* pBtnExpression = (Button*)Helper::seekWidgetByName(m_pWidget,"Button_Expression");
	m_pExpressionUI = Helper::seekWidgetByName(m_pWidget,"Expression");
	pBtnExpression->addTouchEventListener(this,toucheventselector(ChatMainUI::showExpression));
	m_pExpressionUI->setEnabled(false);
	int i=0;
	while (true)
	{
		Button* pExpresstionItem = (Button*)Helper::seekWidgetByName(m_pExpressionUI,CCString::createWithFormat("E_%d",i)->getCString());
		if(!pExpresstionItem) break;
		pExpresstionItem->setTag(i+1);
		pExpresstionItem->addTouchEventListener(this,toucheventselector(ChatMainUI::clickExpressionItem));
		i++;
	}

	m_pMsgWind = CScrollMsgWindow::create();
	m_pMsgWind->SetLineInterval(20);
	m_pMsgWind->setSize(Size(1044, 358));
	m_pMsgWind->setPosition(Point(0, 0));
	m_pMsgWind->SetTouchNameListenner(this, (SEL_TouchNameLinkEvent)&ChatMainUI::clickNameLink);
	m_pMsgWind->SetTouchItemListenner(this, (SEL_TouchItemLinkEvent)&ChatMainUI::clickItemLink);
	pMain->addChild(m_pMsgWind);
	

	Widget* pChanelBg = Helper::seekWidgetByName(m_pWidget,"ChannelList");
	Button* pLeft = (Button*)Helper::seekWidgetByName(m_pWidget,"TurnLeft");
	Button* pRight = (Button*)Helper::seekWidgetByName(m_pWidget,"TurnRight");
	m_pChanelMenu = CScrollMenu::create(pChanelBg->getSize());
	m_pChanelMenu->setDirection(SCROLLVIEW_DIR_HORIZONTAL);
	m_pChanelMenu->setLeftBtn(pLeft);
	m_pChanelMenu->setRightBtn(pRight);
	m_pChanelMenu->setInterval(6.0f);
	m_pChanelMenu->setButtonSize(Size(127,58));
	m_pChanelMenu->SetSelectEvent(this,SEL_SelectIndexEvent(&ChatMainUI::clickTab));
	pChanelBg->addChild(m_pChanelMenu);
	//增加5个固定频道
	CheckBox* pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch1")->getCString());
	m_pChanelMenu->addMenu(pBox);
	pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch5")->getCString());
	m_pChanelMenu->addMenu(pBox);
	//pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch2")->getCString());
	//m_pChanelMenu->addMenu(pBox);
	//pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch3")->getCString());
	//m_pChanelMenu->addMenu(pBox);
	pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch8")->getCString());
	m_pChanelMenu->addMenu(pBox);

	m_showingChannels.push_back(ChannelType_World);
	m_showingChannels.push_back(ChannelType_System);
	//m_showingChannels[2] = ChannelType_Guild;
	//m_showingChannels[3] = ChannelType_Team;
	m_showingChannels.push_back(ChannelType_Team_Msg);
	m_pChanelMenu->clickButton(0);
	return true;
}
コード例 #8
0
ファイル: PetUI.cpp プロジェクト: SmallRaindrop/LocatorApp
bool CPetUI::onInit()
{
	do 
	{
		BREAK_IF(!GameUI::onInit());

		Button *pBack_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "back_btn");
		BREAK_IF(pBack_btn==NULL);
		pBack_btn->setButtonSpriteGray();
		pBack_btn->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickBackButton));

		m_BackButton_btn_2 = (Button*)Helper::seekWidgetByName(m_pWidget, "back2_btn");
		BREAK_IF(m_BackButton_btn_2==NULL);
		m_BackButton_btn_2->setButtonSpriteGray();
		m_BackButton_btn_2->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickSwitch));
		m_BackButton_btn_2->setTag(1001);

		m_Qianghua_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "qianghua_btn");
		BREAK_IF(m_Qianghua_btn==NULL);
		m_Qianghua_btn->setButtonSpriteGray();
		m_Qianghua_btn->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickSwitch));
		m_Qianghua_btn->setTag(1002);

		m_Tianshu_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "tianshu_btn");
		BREAK_IF(m_Tianshu_btn==NULL);
		m_Tianshu_btn->setButtonSpriteGray();
		m_Tianshu_btn->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickTianshuButton));

		m_Qianghua_btn_2 = (Button*)Helper::seekWidgetByName(m_pWidget, "qianghua2_btn");
		BREAK_IF(m_Qianghua_btn_2==NULL);
		m_Qianghua_btn_2->setButtonSpriteGray();
		m_Qianghua_btn_2->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickQianghuaButton));

		m_attribute_panel = (ImageView*)Helper::seekWidgetByName(m_pWidget, "bg_img_3");
		m_qianghua_panel = (ImageView*)Helper::seekWidgetByName(m_pWidget, "bg_img_4");
		
		m_attribute_panel->setVisible(true);
		m_Tianshu_btn->setTouchEnabled(true);
		m_Qianghua_btn->setTouchEnabled(true);
		
		m_qianghua_panel->setVisible(false);
		m_Qianghua_btn_2->setTouchEnabled(false);
		m_BackButton_btn_2->setTouchEnabled(false);

		// 宠物列表
		m_listView_pet = (ListView*)Helper::seekWidgetByName(m_pWidget, "listView_pet");

		// 基本属性列表
		m_listView_attribute = (ListView*)Helper::seekWidgetByName(m_pWidget, "listView_attribute");

		// 强化属性列表
		m_attr_list = (ListView*)Helper::seekWidgetByName(m_pWidget, "attr_list");

		updatePetList();
		updateAttributePanel();
		updateQianghuaPanel();
		return true;
	} while (0);

	return false;
}
コード例 #9
0
ファイル: TanSuoLayer.cpp プロジェクト: longguai/game-DarkWar
TanSuoLayer::TanSuoLayer()
{
	m_nFontSize = 24;
	m_nMaxCountDestroy = 3;
	m_bIsJieFeng = false;
	m_nSelectProId = -1;
	mBg = BaseSprite::create("xunbao_bg.png");
	addChild(mBg);
	mBg->setPosition(ccp(mWinSize.width/2, mBg->getContentSize().height/2));
	mMainMenu = CCMenu::create();
	mBg->addChild(mMainMenu, 10);
	mMainMenu->setPosition(ccp(0,0));
	CCMenuItemImage *yijian = CCMenuItemImage::create(
		"xunbao_anniu_yijianxunbao.png",
		"xunbao_anniu_yijianxunbao_select.png",
		this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));
	mMainMenu->addChild(yijian, 0, Tag_MenuItem_YiJianTanSuo);
	yijian->setPosition(ccp(548,mBg->getContentSize().height-674));

	Button *tansuo = Button::create();
	tansuo->loadTextures("xunbao_anniu_xunbao.png","xunbao_anniu_xunbao_select.png","xunbao_anniu_xunbao_select.png",UI_TEX_TYPE_LOCAL);
	/*CCMenuItemImage *tansuo = CCMenuItemImage::create(
		"xunbao_anniu_xunbao.png",
		"xunbao_anniu_xunbao_select.png",
		this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));*/
	tansuo->addTouchEventListener(this,SEL_TouchEvent(&TanSuoLayer::clickXunBao));

	


	UILayer* layer = UILayer::create();
	layer->ignoreAnchorPointForPosition(false);
	layer->setContentSize(tansuo->getContentSize());
	layer->setAnchorPoint(ccp(0.5,0.5));
	layer->addWidget(tansuo);
	layer->setPosition(320,mBg->getContentSize().height-674);//以前cpp(x,y) 现在左边 都是Point  比如颜色 ccWHITE 也改成了Color3B::WHITE
	mBg->addChild(layer);
	tansuo->setPosition(ccp(tansuo->getContentSize().width / 2 , tansuo->getContentSize().height / 2));

	m_sXunBaoSpr = CCSprite::create("xunbao_anniu_xunbao_xiaoguo.png");
	m_sXunBaoSpr->setPosition(ccp(320,mBg->getContentSize().height-674));
	mBg->addChild(m_sXunBaoSpr);
	m_sXunBaoSpr->runAction(CCRepeatForever::create(CCSequence::create(CCFadeOut::create(1.0f),CCFadeIn::create(1.0f),NULL)));
	//mMainMenu->addChild(tansuo, 0, Tag_MenuItem_TanSuo);
	//tansuo->setPosition(ccp(320,mBg->getContentSize().height-674));
	{
		CCMenuItemImage *jiefen = CCMenuItemImage::create(
			"xunbao_anniu_jiechufengyin.png",
			"xunbao_anniu_jiechufengyin_select.png",
			this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));
		mMainMenu->addChild(jiefen, 0, Tag_MenuItem_JieFen);
		jiefen->setPosition(ccp(320,mBg->getContentSize().height-437));
		jiefen->setVisible(false);
		CCSprite *img = CCSprite::create("xunbao_anniu_jiechufengyin_xiaoguo.png");
		jiefen->addChild(img);
		img->setPosition(ccp(jiefen->getContentSize().width/2, jiefen->getContentSize().height/2));
		img->runAction(CCRepeatForever::create(CCSequence::create(
			CCFadeTo::create(1, 50), CCFadeTo::create(1, 255), NULL)));
	}
	mMainMenu->setVisible(false);

	//title
	CCLabelTTF *tilte = CCLabelTTF::create(LFStrings::getValue("XunBaoShuoMing").c_str(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(tilte);
	tilte->setColor(fonColor_PuTong);
	tilte->setPosition(ccp(mBg->getContentSize().width/2, mBg->getContentSize().height-110));
	//2
	CCLabelTTF *la1 = CCLabelTTF::create(LFStrings::getValue("XunBaoJieFeng").c_str(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(la1);
	la1->setAnchorPoint(ccp(0, 0.5));
	la1->setColor(fonColor_CiYao);
	la1->setPosition(ccp(134, mBg->getContentSize().height-140));
	CCLabelTTF *la2 = CCLabelTTF::create((LFStrings::getValue("shenbing")+LFStrings::getValue("zhuangbei")).c_str()
		, fontStr_kaiti, m_nFontSize);
	la1->addChild(la2);
	la2->setColor(ImageManager::getManager()->getShowColor(ZhuangbeiColour_Chuanqi, false, false));
	la2->setPosition(ccp(la1->getContentSize().width+la2->getContentSize().width/2, la1->getContentSize().height/2));
	la1->setPositionX((mBg->getContentSize().width-la1->getContentSize().width-la2->getContentSize().width)/2);

}
コード例 #10
0
ファイル: MailUI.cpp プロジェクト: SmallRaindrop/LocatorApp
void CMailUI::updateMailList()
{
	string pathMailIcon[3] = {"assets/ui/mail/ico_youxiang1.png","assets/ui/mail/ico_youxiang2.png","assets/ui/mail/ico_youxiang3.png"};
	CheckBox* default_select_mail_item_ = nullptr;
	m_select_mail_item = nullptr;
	m_mail_list->removeAllItems();
	m_mail_id_vec.clear();

	m_mail_award_srcoll->removeAllChildren();
	m_mail_content_txt->setText("");
	m_mail_title_txt->setText("");

	auto mail_list_ = gDataPool->getMailList();

	for (size_t i = 0;i<mail_list_.size();i++)
	{
		auto temp_mail_item_ = mail_list_[i];
		auto mail_item_temp_ = createMailItem();
		auto mail_checkbox_ = (CheckBox*)Helper::seekWidgetByName(mail_item_temp_, "checkbox");
		mail_checkbox_->setTag(i);
		m_mail_id_vec.push_back(temp_mail_item_.mailId);
		mail_checkbox_->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickCheckBoxMail));
		if (i == 0)
		{
			default_select_mail_item_ = mail_checkbox_;
		}

		auto isReaded = temp_mail_item_.mailReadState;										// 已读标记 0未读 1已读 2已领取
		auto isAwarded = temp_mail_item_.vec.size() == 0 ? 0:1;								// 是否有附件 0没有 1有
		if (temp_mail_item_.money>0)
		{
			isAwarded = 1;
		}

		auto mail_title_label_ = (Text*)Helper::seekWidgetByName(mail_item_temp_, "title_label");
		mail_title_label_->setText(temp_mail_item_.mailSendName);

		auto mail_content_label_ = (Text*)Helper::seekWidgetByName(mail_item_temp_, "content_label");
		mail_content_label_->setText(temp_mail_item_.mailTitle);

		auto head_img_ = (ImageView*)Helper::seekWidgetByName(mail_item_temp_, "head_img");
		if (isReaded == 0)
		{
			head_img_->loadTexture(pathMailIcon[0]);
		}else if(isReaded == 1 && isAwarded == 1)
		{
			head_img_->loadTexture(pathMailIcon[1]);
		}else
		{
			head_img_->loadTexture(pathMailIcon[2]);
		}

		if (isReaded == 0 || (isReaded == 1&&isAwarded == 1))
		{
			mail_title_label_->setColor(Color3B(56,241,13));
			mail_content_label_->setColor(Color3B(255,255,255));
		}else
		{
			mail_title_label_->setColor(Color3B(112,128,144));
			mail_content_label_->setColor(Color3B(112,128,144));
		}

		m_mail_list->pushBackCustomItem(mail_item_temp_);
	}

	if (default_select_mail_item_ != nullptr)
	{
		default_select_mail_item_->setSelectedState(true);
		clickCheckBoxMail(default_select_mail_item_,TOUCH_EVENT_ENDED);
	}

	mail_list_slider->setList(m_mail_list, Slider::ListType::LISTVIEW_TYPE);


}
コード例 #11
0
Widget* CScrollList::AddItem(const char* strCaption, long long nUserData)
{
	Widget *pBox = NULL;

	pBox = gCtrlAllocator->LoadCtrl(m_nItemBGID);
	if (!pBox)
		return NULL;

	pBox->setSize(Size(_size.width, pBox->getSize().height));

	if (m_bItemSelectable)
	{
		((CheckBox*)pBox)->addEventListenerCheckBox(this, SEL_SelectedStateEvent(&CScrollList::ClickButton));
	}
	else
	{
		((Button*)pBox)->addTouchEventListener(this, SEL_TouchEvent(&CScrollList::ClickButton));
	}

	Text *pText = Text::create();
	pText->setFontSize(m_nFontSize);
	pText->setSize(Size(_size.width, pBox->getSize().height));
	pText->ignoreContentAdaptWithSize(false);
	pText->setTag(999);
	pText->setColor(m_clrTextNormal);
	pText->setText(strCaption);
	pText->setTextAreaSize(pText->getSize());
	pText->setTextHorizontalAlignment(m_textAlign);
	pText->setTextVerticalAlignment(TextVAlignment::CENTER);
	pText->setPosition(Point(getSize().width / 2, pBox->getSize().height / 2));
	if (!m_bTextShadow)((Label*)pText->getVirtualRenderer())->disableEffect();
	pBox->addChild(pText);
	pBox->setAnchorPoint(Point(0.0f, 1.0f));
	addChild(pBox);






	// 先将设定新行在组里面的信息
	int nGlobalIndex = m_vtrButtons.size();
	GroupInfo *pGroup = GetGroup(m_strCurGroup);
	if (pGroup)
	{
		if (pGroup->pStartItem == NULL)
		{
			pGroup->pStartItem = pBox;
		}
		else
		{
			nGlobalIndex = find(m_vtrButtons.begin(), m_vtrButtons.end(), pGroup->pStartItem) - m_vtrButtons.begin() + pGroup->nItemNum;
		}
		pGroup->nItemNum++;
	}
	
	// 再根据组的信息插入到该组最后一个位置
	//m_vtrButtons.insert(nGlobalIndex, pBox);
	m_vtrButtons.insert(m_vtrButtons.begin()+nGlobalIndex,pBox);
	m_vtrUserData.insert(m_vtrUserData.begin() + nGlobalIndex, nUserData);

	LayOut();

	return pBox;
}