Esempio n. 1
0
void CTabManager::Update()
{
	PostSelect();

	for (auto& tab : tab)
	{
		tab.second->Update();
		if (tab.second->GetState() == CTab::State::Push)
		{
			Close();
			tab.second->Change();
			task->GetComponent<CPageManager>(CAvatarManager::PageName, 0)->ChangePage(tab.first);
		}
	}
}
void ILibChainEngine::OnSelect(ILibChainLink *sender, int socketHandle, int Read, int Write, int Error)
{
	//
	// Cancel all the other pending Selects, and deque
	//
	/*
	int i=0;
	for(i=0;i<SetIndex;++i)
	{
		if(Set[i]!=sender)
		{
			Set[i]->Cancel();
		}
	}
	*/
	
	//
	// Cancel the timeout
	//
	this->chainTimer->Cancel();
	
	//
	// Remove ourselves from the list of ActiveObjects
	//
	int i=0;
	int i2;
	for(i=0;i<SetIndex;++i)
	{
		if(Set[i]==sender)
		{
			delete Set[i];
			for(i2=i;i2<SetIndex-1;++i2)
			{
				Set[i2] = Set[i2+1];
			}
			--SetIndex;
			break;
		}
	}
	
	//
	// Trigger Event
	//
	PostSelect(socketHandle,Read,Write,Error);
	PreSelect();
}