void BountyMissionObjectiveImplementation::removeNpcTargetObservers() {
	if (npcTarget != NULL) {
		ManagedReference<SceneObject*> npcHolder = npcTarget.get();
		Locker locker(npcTarget);

		removeObserver(1, ObserverEventType::DAMAGERECEIVED, npcTarget);
		removeObserver(0, ObserverEventType::OBJECTDESTRUCTION, npcTarget);

		npcTarget->destroyObjectFromDatabase();
		npcTarget->destroyObjectFromWorld(true);

		npcTarget = NULL;
	} else {
		// NPC not spawned, remove observers anyway.
		Locker locker(&syncMutex);

		dropObserver(getObserver(1), true);
		dropObserver(getObserver(0), true);
	}
}
CMonitoringUI::~CMonitoringUI()
{
	m_theEvent += Poco::delegate(m_pCompare, &BitMapCompare::onEvent);
	fireEvent(true);
	m_theEvent -= Poco::delegate(m_pCompare, &BitMapCompare::onEvent);
	//Poco::ThreadPool::defaultPool().joinAll();
	delete m_pCompare;

	removeObserver(*this);
	r.stop();
}
示例#3
0
void EventLoop::Token::Impl::reset()
{
    auto loop = loop_.lock();
    if (loop) {
        if (!task_nodes_.empty()) {
            loop->removeTask(this);
        }
        if (!obs_token_.expired()) {
            loop->removeObserver(this);
            obs_token_.reset();
        }
        loop_.reset();
    } else {
        task_nodes_.clear();
    }
}
示例#4
0
WalletLegacy::~WalletLegacy() {
  removeObserver(m_onInitSyncStarter.get());

  {
    std::unique_lock<std::mutex> lock(m_cacheMutex);
    if (m_state != NOT_INITIALIZED) {
      m_sender->stop();
      m_isStopping = true;
    }
  }

  m_blockchainSync.removeObserver(this);
  m_blockchainSync.stop();
  m_asyncContextCounter.waitAsyncContextsFinish();
  m_sender.release();
}
void MainLayerHerosBaseBody::rsp_JieSuoYingXiong(CCObject *msg)
{
//子类实现
	removeObserver(MSG_unlockAssistantRsp);
	GameDirector::getDirector()->hideWaiting();

	SPCmd_UnlockAssistantRsp* data = (SPCmd_UnlockAssistantRsp*) ((MSG_Rsp*)msg)->getData();
	if (data->err_code != Success)
	{
		MessageDisplay *layer = MessageDisplay::create(mCmdHlp->getMessage(data->err_code));
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		return;
	}
	
	MessageDisplay *layer = MessageDisplay::create(LFStrings::getValue("jieSuoChengGong"));
	CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
}
void MainLayerStoreFrame::getMarketInfoCallBack(CCObject* msg)
{
	GameDirector::getDirector()->hideWaiting();
	removeObserver(MSG_getMarketInfoRsp);

	//初始化为道具界面
	{
		mMenu->setEnabled(true);

		if (mFlag == store_ShenBing)
			menuItemClicked(mMenu->getChildByTag(TAG_ITEM_ShenBing));
		else if (mFlag == store_DaoJu)
			menuItemClicked(mMenu->getChildByTag(TAG_ITEM_DAOJU));
		else if (mFlag == store_LiBao)
			menuItemClicked(mMenu->getChildByTag(TAG_ITEM_LiBao));
		else if (mFlag == store_ChongZhi)
			menuItemClicked(mMenu->getChildByTag(TAG_ITEM_CHONGZHI));
	}
}
示例#7
0
void WalletLegacy::shutdown() {
  {
    std::unique_lock<std::mutex> lock(m_cacheMutex);

    if (m_isStopping)
      throwNotDefined();

    m_isStopping = true;

    if (m_state != INITIALIZED)
      throwNotDefined();

    m_sender->stop();
  }

  m_blockchainSync.removeObserver(this);
  m_blockchainSync.stop();
  m_asyncContextCounter.waitAsyncContextsFinish();

  m_sender.release();
   
  {
    std::unique_lock<std::mutex> lock(m_cacheMutex);
    m_isStopping = false;
    m_state = NOT_INITIALIZED;

    const auto& accountAddress = m_account.getAccountKeys().address;
    auto subObject = m_transfersSync.getSubscription(accountAddress);
    assert(subObject != nullptr);
    subObject->removeObserver(this);
    m_transfersSync.removeSubscription(accountAddress);
    m_transferDetails = nullptr;

    m_transactionsCache.reset();
    m_lastNotifiedActualBalance = 0;
    m_lastNotifiedPendingBalance = 0;
  }
}
void BountyMissionObjectiveImplementation::removePlayerTargetObservers() {
	Locker locker(&syncMutex);

	ManagedReference<MissionObject* > mission = this->mission.get();
	ManagedReference<CreatureObject*> owner = getPlayerOwner();

	removeObserver(5, ObserverEventType::DEFENDERDROPPED, owner);
	removeObserver(4, ObserverEventType::DEFENDERADDED, owner);
	removeObserver(3, ObserverEventType::PLAYERKILLED, owner);

	ZoneServer* zoneServer = owner->getZoneServer();

	if (zoneServer != NULL) {
		ManagedReference<CreatureObject*> target = zoneServer->getObject(mission->getTargetObjectId()).castTo<CreatureObject*>();

		removeObserver(2, ObserverEventType::DEFENDERDROPPED, target);
		removeObserver(1, ObserverEventType::DEFENDERADDED, target);
		removeObserver(0, ObserverEventType::PLAYERKILLED, target);
	}
}
示例#9
0
void MailListTile::getMessage(CCObject *obj)
{
	removeObserver(MSG_DeleteEmailRsp);
	GameDirector::getDirector()->hideWaiting();
}
示例#10
0
void MailListTile::clickDeleteOK(CCObject *obj)
{
	removeObserver(MSG_DeleteEmailRsp);
	GameDirector::getDirector()->hideWaiting();
	(m_oTarger->*m_hClickDelete)((CCMenuItem *)obj);
}
示例#11
0
void NotificationCenter::removeObserver(void* callbackContext) {
    
    removeObserver(NULL, callbackContext);
    
}
示例#12
0
ExperienceLayer::~ExperienceLayer()
{
	auto heroAddExp = __NotificationCenter::getInstance();
	heroAddExp->removeObserver(this,"heroAddExp");
}
示例#13
0
int main(int argc , char *argv[])
{
	char rline[MAXLINE], my_msg[MAXLINE];
	//char *start = "Connected to server\n";
	int i, j, n;
	int s, client_fd, client;
	fd_set read_fds;
	struct sockaddr_in server_addr;
	struct sockaddr_in proxy_addr;
	struct sockaddr_in client_addr;
		
	struct __message rcv = { 0x0, };
	struct __message trans = { 0x0, };
		
	pthread_mutex_init(&m_lock, NULL);
		
	if(argc < 4)
	{
		printf("usage : %s [proxy_port#] [server_ip#] [server_port#] [cache_mode#] [cache_algorithm#]\n", argv[0]);
		exit(0);
	}	//if(argc
	else if(argc < 6)
	{
		g_uiCacheMode = 0;
		g_uiCacheAlgorithm = 0;
	}
	else
	{
		g_uiCacheMode = atoi(argv[4]);
		g_uiCacheAlgorithm = atoi(argv[5]);
	}
	
	//TODO: init timer handler
	//initTimerHandler();
	
	//TODO: init cached resource struct
	initResource();
		
	//TODO: init server connection
	bzero((char *)&proxy_addr, sizeof(struct sockaddr_in));
	server_addr.sin_family = AF_INET;
	server_addr.sin_addr.s_addr = inet_addr(argv[2]);
	server_addr.sin_port = htons(atoi(argv[3]));
	initServerConnection(server_addr);
			
	if((s = socket(PF_INET, SOCK_STREAM, 0)) < 0)
	{
		printf("proxy : socket failed!\n");
		exit(0);
	}	//if((s = socket
/*
struct timeval tNow;
gettimeofday(&tNow, NULL);
addObserver1(200, 2, 1000, 800, tNow);
usleep(10*1000);
gettimeofday(&tNow, NULL);
addObserver1(300, 3, 1000, 2000, tNow);
usleep(25*1000);
gettimeofday(&tNow, NULL);
addObserver1(100, 1, 1000, 400, tNow);
//dumpObserver();
//dumpObserver();
dumpObserver();
return;//while(1);
*/
	//TODO: init proxy connection
	int option = 1;
	setsockopt( s, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(int) );
	bzero((char *)&proxy_addr, sizeof(struct sockaddr_in));
	proxy_addr.sin_family = AF_INET;
	proxy_addr.sin_addr.s_addr = htonl(INADDR_ANY);
	proxy_addr.sin_port = htons(atoi(argv[1]));
		
	if(bind(s, (struct sockaddr  *)&proxy_addr, sizeof(struct sockaddr_in)) < 0)
	{
		printf("proxy : bind failed!\n");
		exit(0);
	}
	
	listen(s, 5);
			
	g_piFdMax = s + 1;

	pthread_t threadId = 0;
	pthread_create(&threadId, NULL, pthreadWatchResource, (void *)NULL);
	
	sprintf(g_strProxyLog, "/tmp/proxy_%d.log", (int)getpid());

	while(1)
	{
			FD_ZERO(&read_fds);
			FD_SET(s, &read_fds);
			
			for(i=0; i<g_iClientMax; i++)
			{
				FD_SET(g_piSocketClient[i], &read_fds);
			}	//for(i=0;
			
			g_piFdMax = getFdMax(s) + 1;
			if(select(g_piFdMax, &read_fds, (fd_set *)0, (fd_set *)0, (struct timeval *)0) < 0)
			{
				printf("proxy : select failed\n");
				exit(0);
			}//if(select
				
			if(FD_ISSET(s, &read_fds))
			{
				client = sizeof(struct sockaddr_in);
				client_fd = accept(s, (struct sockaddr *)&client_addr, &client);
				if(client_fd == -1)
				{
					printf("proxy : accept failed!\n");
					exit(0);
				}

				g_piSocketClient[g_iClientMax] = client_fd;
				g_iClientMax++;

				//printf("client_fd=%d, g_iClientMax=%d\n", client_fd, g_iClientMax);		
				//send(client_fd, start, strlen(start), 0);
				printf("proxy : user#%d added!\n", g_iClientMax);
			}//if(FD_ISSET

			for(i=0; i<g_iClientMax; i++)
			{
				if(FD_ISSET(g_piSocketClient[i], &read_fds))
				{
					memset(&rcv, 0x0, sizeof(struct __message));
					if((n = recv(g_piSocketClient[i], &rcv, sizeof(struct __message), 0)) <= 0)
					{
						removeObserver(g_piSocketClient[i]);
						dumpObserver();
						removeClient(i);
						continue;
					}

					if(rcv.cmd == 0x99999999)
					{
						removeClient(i);
						continue;
					}

#if ENABLE_HANDLETHREAD 
					struct timeval timeRecv;
					gettimeofday(&timeRecv, NULL);
					rcv.proxy_recved.tv_sec = timeRecv.tv_sec;
					rcv.proxy_recved.tv_usec = timeRecv.tv_usec;
					
					pthread_t ptId = 0;
					rcv.iFd = g_piSocketClient[i];
					pthread_create(&ptId, NULL, pthreadHandleMessage, (void *)&rcv);
					//usleep(1);
#else
					handleMessage(&rcv);
					memcpy(&trans, &rcv, sizeof(struct __message));

					int temp = send(g_piSocketClient[i], &trans, sizeof(struct __message), 0);
#endif
				} //if(FD_ISSET(	
			} //for(i=0
	} //while(1)
	
	return 0;
}
void ObservableBase::clearObservers() const {
    while (!m_observers.empty())
        removeObserver(*m_observers.begin());
}
示例#15
0
void TanSuoLayer::rsp_jiefen(CCObject *msg)
{
	removeObserver(MSG_unlockDiscoverSealRsp_F);
	GameDirector::getDirector()->hideWaiting();

	Flat_UnlockDiscoverSealRsp* data = (Flat_UnlockDiscoverSealRsp*) ((Flat_MSG_Rsp*)msg)->getData();

	if(data->err_code != Success)
	{
		MessageDisplay* layer = MessageDisplay::create(mCmdHlp->getMessage(data->err_code));
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		return;
	}

	ShenBingShangDianDuanZao *layer = new ShenBingShangDianDuanZao(data->equips);
	CCDirector::sharedDirector()->getRunningScene()->addChild(layer, 1000);
	layer->release();
/*
	string info = LFStrings::getValue("gongxini") + LFStrings::getValue("huode") + ":";

	CCSize visSize = CCDirector::sharedDirector()->getWinSize();
	BaseSprite* dialog = BaseSprite::create("gongming_bg.png");
	dialog->setPosition(ccp(visSize.width/2, visSize.height/2));
	//label 提示
	{
		CCLabelTTF* label = CCLabelTTF::create(info.c_str(), fontStr_kaiti, m_nFontSize, CCSize(425, 0), kCCTextAlignmentCenter);
		label->setAnchorPoint(ccp(0.5, 1));
		label->setPosition(ccp(dialog->getContentSize().width/2, 250));
		dialog->addChild(label, 1);
	}
	{
		int allNum = data->equips.size();
		for (int i=0, posIdx=0; i<allNum; ++i, ++posIdx)
		{
			BaseSprite* diwenImg = BaseSprite::create(
				ImageManager::getManager()->getImageData_DiWen_WithBianKuang(data->equips.at(i).zhuangbei_colour)); // .count .type
			dialog->addChild(diwenImg);

			int pos_x = dialog->getContentSize().width/2;
			int delta = posIdx - allNum/2;
			if(allNum % 2 == 0) 
			{
				float del = delta + 0.5;
				pos_x += del * (diwenImg->getContentSize().width + 10);
			}
			else
			{
				pos_x += delta * (diwenImg->getContentSize().width + 10);
			}
			diwenImg->setPosition(ccp(pos_x, dialog->getContentSize().height/2));
			//equip pic
			string equipfile = data->equips.at(i).equipPic;
			equipfile = "minute_" + equipfile + ".png";
			BaseSprite *s = BaseSprite::create(equipfile);
			diwenImg->addChild(s);
			s->setScale(0.23f);
			s->setPosition(ccp(diwenImg->getContentSize().width/2,diwenImg->getContentSize().height/2));

			//数量
			char buf[20];
			sprintf(buf, "\nx%d", 1);
			string temp = data->equips.at(i).equipName;
			temp += buf;
			CCLabelTTF *labelShuliang = CCLabelTTF::create(temp.c_str(), fontStr_kaiti, m_nFontSize
				, CCSize(0,0), kCCTextAlignmentCenter);
			diwenImg->addChild(labelShuliang);
			labelShuliang->setPosition(ccp(diwenImg->getContentSize().width/2, -labelShuliang->getContentSize().height/2));
		}
	}
	//确认 取消按键  
	CCMenu* menu = CCMenu::create();
	menu->setPosition(CCPointZero);
	{
		CCMenuItemImage* menuItemOk = CCMenuItemImage::create(
			"shangpin_goumai_queren.png",
			"shangpin_goumai_queren_select.png",
			this,SEL_MenuHandler(&TanSuoLayer::menuItemClicked_removeAwardLayer));

		menu->addChild(menuItemOk, 1);
		menuItemOk->setPosition(ccp(dialog->getContentSize().width/2,70));
		menuItemOk->setOpacity(0);

		CCSize winsize = CCDirector::sharedDirector()->getWinSize();
		menuItemOk->setScaleX(winsize.width / menuItemOk->getContentSize().width);
		menuItemOk->setScaleY(winsize.height / menuItemOk->getContentSize().height);
	}

	//
	{
		LFAlert* lfAlert = new LFAlert();
		lfAlert->setBaseContainer(dialog,menu);
		lfAlert->setZoneCanotTouch();
		CCDirector::sharedDirector()->getRunningScene()->addChild(lfAlert,128, TAG_AwardDisplayer_Layer);
		lfAlert->release();
	}
	*/
	if (TanSuoManager::getManager()->getDistoriedNum() == 3)
	{
		refreshDestroyFenyin(3);
	}
	else
	{
		refreshDestroyFenyin(0);
	}
	
}
示例#16
0
void TanSuoLayer::rsp_tansuo(CCObject *msg)
{
	removeObserver(MSG_discoverRsp);
	GameDirector::getDirector()->hideWaiting();

	SPCmd_DiscoverRsp* data = (SPCmd_DiscoverRsp*) ((MSG_Rsp*)msg)->getData();

	if(data->err_code != Success)
	{
		if (data->err_code == CEC_NO_TANSUO_TIME)
		{
			FXToast *layer = FXToast::create(LFStrings::getValue("XunBaoCiShuYongJing"));
			CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
			return;
		}

		MessageDisplay* layer = MessageDisplay::create(mCmdHlp->getMessage(data->err_code));
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		return;
	}

	mItems.clear();
	string info;
	char buf[128];
	vector<ItemInfo> items;	
	if (m_bDiscoverAll)
	{
		info = LFStrings::getValue("XunBaoJieSu");
		for (int i=0; i<data->count; ++i)
		{
			ItemInfo tItem;
			tItem.type = data->item_arr[i].type;
			tItem.count = data->item_arr[i].count;
			items.push_back(tItem);
		}
		TanSuoResultLayer *layer = NULL;
		if (data->is_destroyed)
		{
			layer = TanSuoResultLayer::create(info, items,true);
		}
		else
		{
			layer = TanSuoResultLayer::create(info, items,false);
		}
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		/*unsigned int silNum = 0, goldNum = 0, cailNum = 0;
		for (int i=0; i<data->count; ++i)
		{
			switch (data->item_arr[i].type)
			{
			case ItemsType_Silver:
				silNum += data->item_arr[i].count;
				break;
			case ItemsType_Gold:
				goldNum += data->item_arr[i].count;
				break;
			case ItemsType_QianghuaNormal:
				cailNum += data->item_arr[i].count;
				break;
			default:
				CCLog("Error: %s  ---> item type error!", __FUNCTION__);
				break;
			}

// 			ItemInfo tItem;
// 			tItem.type = data->item_arr[0].type;
// 			tItem.count = data->item_arr[0].count;
// 			mItems.push_back(tItem);
		}

		
// 		if (mItems.size() > 0)
// 		{
// 			mMainMenu->setEnabled(false);
// 			schedule(schedule_selector(TanSuoLayer::showGetItem), 0, mItems.size(), 1);
// 		}

		sprintf(buf, " x%u", silNum);
		info = LFStrings::getValue("huode") + LFStrings::getValue("yinbi") + buf;
		sprintf(buf, " x%u", cailNum);
		info += "\n" + LFStrings::getValue("huode") + LFStrings::getValue("zhutiefen") + buf;
		sprintf(buf, " x%u", goldNum);
		info += "\n" + LFStrings::getValue("huode") + LFStrings::getValue("jinbi") + buf;
		if (data->is_destroyed)
		{
			sprintf(buf, LFStrings::getValue("XunBaoJieFeng_u").c_str(), 1);
			info += "\n";
			info += buf;
		}

		CCSize visSize = CCDirector::sharedDirector()->getWinSize();
		BaseSprite* dialog = BaseSprite::create("gongming_bg.png");
		dialog->setPosition(ccp(visSize.width/2, visSize.height/2));
		//label 提示
		{
			CCLabelTTF* label = CCLabelTTF::create(info.c_str(), 
				fontStr_kaiti, m_nFontSize, CCSize(425, 0), kCCTextAlignmentLeft);
			label->setAnchorPoint(ccp(0, 0.5));
			label->setPosition(ccp(80, dialog->getContentSize().height/2));
			dialog->addChild(label, 1);
			label->setColor(fonColor_PuTong);

			CCLabelTTF *title = CCLabelTTF::create(LFStrings::getValue("XunBaoJieSu").c_str(), fontStr_kaiti, m_nFontSize);
			title->setAnchorPoint(ccp(0.5, 1));
			title->setPosition(ccp(dialog->getContentSize().width/2, 250));
			dialog->addChild(title, 1);
		}
		//确认 取消按键  
		CCMenu* menu = CCMenu::create();
		menu->setPosition(CCPointZero);
		{
			CCMenuItemImage* menuItemOk = CCMenuItemImage::create(
				"shangpin_goumai_queren.png",
				"shangpin_goumai_queren_select.png",
				this,SEL_MenuHandler(&TanSuoLayer::menuItemClicked_removeAwardLayer));

			menu->addChild(menuItemOk, 1);
			menuItemOk->setPosition(ccp(dialog->getContentSize().width/2,70));
			menuItemOk->setOpacity(0);

			CCSize winsize = CCDirector::sharedDirector()->getWinSize();
			menuItemOk->setScaleX(winsize.width / menuItemOk->getContentSize().width);
			menuItemOk->setScaleY(winsize.height / menuItemOk->getContentSize().height);
		}

		//
		{
			LFAlert* lfAlert = new LFAlert();
			lfAlert->setBaseContainer(dialog,menu);
			CCDirector::sharedDirector()->getRunningScene()->addChild(lfAlert,128, TAG_AwardDisplayer_Layer);
			lfAlert->release();
		}*/
	}
	else
	{
		if (data->count >= 1)
		{
			switch (data->item_arr[0].type)
			{
			case ItemsType_Silver:
				info = LFStrings::getValue("XunBao_YinBi");
				break;
			case ItemsType_Gold:
				info = LFStrings::getValue("XunBao_JinBi");
				break;
			case ItemsType_QianghuaNormal:
				info = LFStrings::getValue("XunBao_QiangHuaFen");
				break;
			default:
				CCLog("Error: %s  ---> item type error!", __FUNCTION__);
				break;
			}
			ItemInfo tItem;
			tItem.type = data->item_arr[0].type;
			tItem.count = data->item_arr[0].count;
			items.push_back(tItem);

			TanSuoResultLayer *layer = TanSuoResultLayer::create(info, items,false);
			CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		}
		else if (data->is_destroyed)
		{
			TanSuoResultLayer *layer = TanSuoResultLayer::create(LFStrings::getValue("XunBao_FengYin"), items,true);
			CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		}
	}
	//m_nRefreshTime = (ServerTime::getTime() - data->) % 3600;

	//刷新 次数
	refreshDisconverTime(data->remainder_times, data->discovered_times);

	//刷新 封印
	if (data->is_destroyed) refreshDestroyFenyin(mDestroyCount + 1);
}
示例#17
0
void TanSuoLayer::rsp_query(CCObject *msg)
{
	removeObserver(MSG_queryDiscoverInfoRsp);
	GameDirector::getDirector()->hideWaiting();

	SPCmd_QueryDiscoverInfoRsp* data = (SPCmd_QueryDiscoverInfoRsp*) ((MSG_Rsp*)msg)->getData();

	if(data->err_code != Success)
	{
		MessageDisplay* layer = MessageDisplay::create(mCmdHlp->getMessage(data->err_code));
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		return;
	}

	mMainMenu->setVisible(true);

	CCString temp;

	int xunBaoCount = CS::getDiscoverLimitTimes(MyselfManager::getManager()->getMyZhuJueData()->getVipLevel());//寻宝次数上限
	//当前剩余次数
	/*temp.initWithFormat("%u/%u", data->remainder_times, 
		CS::getDiscoverLimitTimes(MyselfManager::getManager()->getMyZhuJueData()->getVipLevel()));*/
	temp.initWithFormat("%u", data->remainder_times);
	CCLabelTTF *numLabel = CCLabelTTF::create(temp.getCString(), fontStr_BookAntiqua, m_nFontSize);
	mBg->addChild(numLabel, 1, Tag_Label_CurNum);
	//numLabel->setAnchorPoint(ccp(0, 0.5));
	numLabel->setPosition(ccp(374, mBg->getContentSize().height-762));
	numLabel->setColor(ccGREEN);
	//int shengyuTimes = MAX_TANSUOTIMES - data->discovered_times;
	int shengyuTimes = MAX_TANSUOTIMES - data->discovered_times;

	unsigned int serverTime = ServerTime::getTime();
	int tm = 360 - (serverTime - data->last_modify_timestamp) % 360;
	string timeStr = getTimeForString(tm);
	m_nRefreshTime = tm;
	CCLabelTTF *timeTTF = CCLabelTTF::create(CCString::createWithFormat("(%s)",timeStr.c_str())->getCString(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(timeTTF, 1);
	//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
	timeTTF->setPosition(ccp( numLabel->getPositionX() + numLabel->getContentSize().width / 2 + timeTTF->getContentSize().width / 2 + 10, numLabel->getPositionY()));
	timeTTF->setColor(ccWHITE);
	m_tRefreshTimeTTF = timeTTF;

	if (xunBaoCount == data->remainder_times)
	{
		timeTTF->setVisible(false);
		//haixuNumLabel->setPosition(ccp( mBg->getContentSize().width / 2 - 15, 44));
	}
	else
	{
		schedule(SEL_SCHEDULE(&TanSuoLayer::refreshTime),1.0f);
		//str = CCString::createWithFormat("()")
	}

	if (data->discovered_times >= MAX_TANSUOTIMES)
	{
		temp.initWithFormat(LFStrings::getValue("XunBaoYiJing_DianLiang_String").c_str());
		CCLabelTTF *yidianliangLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(yidianliangLabel, 1, Tag_Label_YiDianLiang);
		//yidianliangLabel->setAnchorPoint(ccp(0,0.5));
		//yidianliangLabel->setPosition(ccp(370, 54));
		yidianliangLabel->setPosition(ccp( mBg->getContentSize().width / 2, 44));
		yidianliangLabel->setColor(fonColor_PuTong);
		m_tHaixuTTF = NULL;
		m_nHadCount = data->remainder_times;
	}
	else
	{
		CCString *str = CCString::createWithFormat("%s  %s",LFStrings::getValue("XunBaoHaixu_String").c_str(),LFStrings::getValue("XunBaoDianLiang_String").c_str());
		CCLabelTTF *haixuNumLabel1 = CCLabelTTF::create(str->getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(haixuNumLabel1, 1,Tag_Label_ShengyuNum);
		//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
		haixuNumLabel1->setPosition(ccp( mBg->getContentSize().width / 2, 44));
		haixuNumLabel1->setColor(fonColor_PuTong);

		CCLabelTTF *haixuNumLabel = CCLabelTTF::create(CCString::createWithFormat("%d",shengyuTimes)->getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(haixuNumLabel, 1,Tag_Label_Haixu);
		//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
		haixuNumLabel->setPosition(ccp(haixuNumLabel1->getPositionX() - haixuNumLabel1->getContentSize().width / 2 + m_nFontSize * 2 + haixuNumLabel->getContentSize().width / 2, haixuNumLabel1->getPositionY()));
		haixuNumLabel->setColor(ccWHITE);

		m_tHaixuTTF = haixuNumLabel;
		m_nHadCount = data->remainder_times;

		
		


		
		/*
		//还需
		temp.initWithFormat(LFStrings::getValue("XunBaoHaixu_String").c_str());
		CCLabelTTF *haixuNumLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(haixuNumLabel, 1, Tag_Label_Haixu);
		//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
		haixuNumLabel->setPosition(ccp( mBg->getContentSize().width / 2, 44));
		haixuNumLabel->setColor(fonColor_PuTong);

		//右边剩余次数
		temp.initWithFormat(" %d ", shengyuTimes);
		CCLabelTTF *rightnumLabel = CCLabelTTF::create(temp.getCString(), fontStr_BookAntiqua, m_nFontSize, CCSize(40,0), kCCTextAlignmentCenter);
		mBg->addChild(rightnumLabel, 1, Tag_Label_ShengyuNum);
		rightnumLabel->setColor(ccGREEN);

		if (shengyuTimes < 10)
		{
			rightnumLabel->setPosition(ccp(haixuNumLabel->getPositionX()+ 60, haixuNumLabel->getPositionY()));
		}
		else
		{
			rightnumLabel->setPosition(ccp(haixuNumLabel->getPositionX()+ 55, haixuNumLabel->getPositionY()));
		}
		
		//次点亮石碑
		temp.initWithFormat(LFStrings::getValue("XunBaoDianLiang_String").c_str());
		CCLabelTTF *shibeiLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentLeft);
		mBg->addChild(shibeiLabel, 1, Tag_Label_DianLiang);
		shibeiLabel->setAnchorPoint(ccp(0,0.5));
		shibeiLabel->setPosition(ccp(haixuNumLabel->getPositionX()+ 80, haixuNumLabel->getPositionY()));
		shibeiLabel->setColor(fonColor_PuTong);*/
	}

	//恢复提示
	/*CCLabelTTF *tishiLabel = CCLabelTTF::create(LFStrings::getValue("XunBaoHuiFuTiShi").c_str(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(tishiLabel);
	tishiLabel->setAnchorPoint(ccp(0, 0.5));
	tishiLabel->setColor(fonColor_CiYao);
	tishiLabel->setPosition(ccp(20, mBg->getContentSize().height-802));
	*/
	//fengyin
	{
		CCPoint pos[6] = {ccp(319,838-356), ccp(444,838-386), ccp(486,838-464)
		, ccp(319,838-534), ccp(152,838-464), ccp(194,838-386)};
		float scale[6] = {.6f, .75f, .9f, 1.0f, .9f, .75f};
		char buf[128];

		int i=0;
		mDestroyCount = data->destroy_seal;
		for (int count=mDestroyCount; i<count; ++i)
		{
			CCSprite *img = CCSprite::create("xunbao_fengyinshi.png");
			mBg->addChild(img, 10-(i-3)*(i-3), Tag_Img_FenYing + i);
			img->setScale(scale[i]);
			img->setPosition(pos[i]);
			sprintf(buf, "xunbao_fengyinshi_fuwen_%d.png", i+1);
			CCSprite *fwImg = CCSprite::create(buf);
			img->addChild(fwImg);
			fwImg->setPosition(ccp(img->getContentSize().width/2, img->getContentSize().height/2));
		}
		for (; i<6; ++i)
		{
			CCSprite *img = CCSprite::create("xunbao_fengyinshi.png");
			mBg->addChild(img, 10-(i-3)*(i-3), Tag_Img_FenYing + i);
			img->setScale(scale[i]);
			img->setPosition(pos[i]);
		}
		TanSuoManager *manager = TanSuoManager::getManager();
		if (manager->canJieFeng())
		{
			m_bIsJieFeng = true;
			m_nSelectProId = -1;
			mMainMenu->getChildByTag(Tag_MenuItem_JieFen)->setVisible(true);
		}
		else
		{
			mMainMenu->getChildByTag(Tag_MenuItem_JieFen)->setVisible(false);
		}
	}
}
示例#18
0
void Entity::removeConnectionObserver(ConnectionObserver *in)
  {
  removeObserver(in);
  }
示例#19
0
void Entity::removeTreeObserver(TreeObserver *in)
  {
  removeObserver(in);
  }