void ClientInterface::event(u16 peer_id, ClientStateEvent event)
{
	auto client = getClient(peer_id, CS_Invalid);
	if(!client)
		return;

	client->notifyEvent(event);

	if ((event == CSE_SetClientReady) ||
		(event == CSE_Disconnect)     ||
		(event == CSE_SetDenied))
	{
		UpdatePlayerList();
	}
}
Exemple #2
0
char* CNWNXNames::OnRequest (char* gameObject, char* Request, char* Parameters)
{
	Log(2,"Request: \"%s\"\n",Request);
	Log(2,"Params:  \"%s\"\n",Parameters);
	this->pGameObject = gameObject;
	this->nGameObjectID = *(dword *)(gameObject+0x4);
	if (strncmp(Request, "INITPLAYERNAMELIST", 18) == 0) 	
	{
		InitPlayerList(Parameters);
		return NULL;
	}
	else if (strncmp(Request, "GETDYNAMICNAME", 14) == 0) 	
	{
		return GetDynamicName(Parameters);
	}
	else if (strncmp(Request, "SETDYNAMICNAME", 14) == 0) 	
	{
		SetDynamicName(Parameters);
		return NULL;
	}
	else if (strncmp(Request, "UPDATEDYNAMICNAME", 17) == 0) 	
	{
		UpdateDynamicName(Parameters);
		return NULL;
	}
	else if (strncmp(Request, "UPDATEPLAYERLIST", 16) == 0) 	
	{
		UpdatePlayerList(Parameters);
		return NULL;
	}
	else if (strncmp(Request, "DELETEDYNAMICNAME", 17) == 0) 	
	{
		DeleteDynamicName(Parameters);
		return NULL;
	}
	else if (strncmp(Request, "CLEARPLAYERNAMELIST", 19) == 0) 	
	{
		ClearPlayerList(Parameters);
		return NULL;
	}
	else if (strncmp(Request, "SETNAMESENABLED", 15) == 0) 	
	{
		EnableDisableNames(Parameters);
		return NULL;
	}
	return NULL;
}
Exemple #3
0
void ClientInterface::event(u16 peer_id, ClientStateEvent event)
{
	{
		JMutexAutoLock clientlock(m_clients_mutex);

		// Error check
		std::map<u16, RemoteClient*>::iterator n;
		n = m_clients.find(peer_id);

		// No client to deliver event
		if (n == m_clients.end())
			return;
		n->second->notifyEvent(event);
	}

	if ((event == SetMediaSent) || (event == Disconnect) || (event == SetDenied))
	{
		UpdatePlayerList();
	}
}
Exemple #4
0
void ClientInterface::event(u16 peer_id, ClientStateEvent event)
{
	{
		MutexAutoLock clientlock(m_clients_mutex);

		// Error check
		RemoteClientMap::iterator n = m_clients.find(peer_id);

		// No client to deliver event
		if (n == m_clients.end())
			return;
		n->second->notifyEvent(event);
	}

	if ((event == CSE_SetClientReady) ||
		(event == CSE_Disconnect)     ||
		(event == CSE_SetDenied))
	{
		UpdatePlayerList();
	}
}
void GUIsharingDialog::DialogEvent(const std::string& event)
{
	if(event=="togglehidden")
	{
		if(controls["sharing"])
		{
			controls["sharing"]->ToggleHidden();
			controls["sharing"]->Raise();
		}
		
		giveEnergy=dynamic_cast<GUIslider*>(controls["give_energy"]);
		giveMetal=dynamic_cast<GUIslider*>(controls["give_metal"]);
		shareEnergy=dynamic_cast<GUIslider*>(controls["share_energy"]);
		shareMetal=dynamic_cast<GUIslider*>(controls["share_metal"]);

		giveUnits=dynamic_cast<GUIstateButton*>(controls["give_units"]);
		shareVision=dynamic_cast<GUIstateButton*>(controls["share_vision"]);
		
		table=dynamic_cast<GUItable*>(controls["list"]);


		if(giveEnergy)
 			giveEnergy->SetMaximum((int)gs->Team(gu->myTeam)->energy);
		if(giveMetal)
 			giveMetal->SetMaximum((int)gs->Team(gu->myTeam)->metal);

		if(shareEnergy)
		{
 			shareEnergy->SetMaximum((int)gs->Team(gu->myTeam)->energyStorage);
 			shareEnergy->SetPosition((int)gs->Team(gu->myTeam)->energyShare);
		}
		if(shareMetal)
		{
 			shareMetal->SetMaximum((int)gs->Team(gu->myTeam)->metalStorage);
 			shareMetal->SetPosition((int)gs->Team(gu->myTeam)->metalShare);
		}

		UpdatePlayerList();
	}
}
Exemple #6
0
/**
 *  Konstruktor von @p dskLobby.
 *
 *  @author FloSoft
 *  @author Devil
 */
dskLobby::dskLobby() : Desktop(LOADER.GetImageN("setup013", 0)), serverinfo(NULL), servercreate(NULL)
{
    // Version
    AddVarText(0, 0, 600, _("Return To The Roots - v%s-%s"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont, 2, GetWindowVersion(), GetWindowRevisionShort());
    // URL
    AddText(1, 400, 600, _("http://www.siedler25.org"), COLOR_GREEN, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont);
    // Copyright
    AddVarText(2, 800, 600, _("© 2005 - %s Settlers Freaks"), COLOR_YELLOW, glArchivItem_Font::DF_RIGHT | glArchivItem_Font::DF_BOTTOM, NormalFont, 1, GetCurrentYear());

    // "Zurück"
    AddTextButton(3, 530, 530, 250, 22, TC_RED1, _("Back"), NormalFont);
    // "Verbinden"
    AddTextButton(4, 530, 470, 250, 22, TC_GREEN2, _("Connect"), NormalFont);
    // "Internet Ranking"
    AddTextButton(5, 530, 500, 250, 22, TC_GREEN2, _("Internet Ranking"), NormalFont);
    // "Server hinzufügen"
    AddTextButton(6, 530, 440, 250, 22, TC_GREEN2, _("Add Server"), NormalFont);

    // Gameserver-Tabelle - "ID", "Server", "Karte", "Spieler", "Version", "Ping"
    AddTable(10, 20, 20, 500, 262, TC_GREY, NormalFont, 6, _("ID"), 0, ctrlTable::SRT_NUMBER, _("Server"), 300, ctrlTable::SRT_STRING, _("Map"), 300, ctrlTable::SRT_STRING, _("Player"), 200, ctrlTable::SRT_NUMBER, _("Version"), 100, ctrlTable::SRT_STRING, _("Ping"), 100, ctrlTable::SRT_NUMBER);
    // Spieler-Tabelle - "Name", "Punkte", "Version"
    AddTable(11, 530, 20, 250, 410, TC_GREY, NormalFont, 3, _("Name"), 500, ctrlTable::SRT_STRING, _("Points"), 250, ctrlTable::SRT_STRING, _("Version"), 250, ctrlTable::SRT_STRING);

    // Chatfenster
    AddChatCtrl(20, 20, 290, 500, 238, TC_GREY, NormalFont);
    // Chatfenster-Edit
    AddEdit(21, 20, 530, 500, 22, TC_GREY, NormalFont);

    AddTimer(30, 5000);

    UpdateServerList(true);
    UpdatePlayerList(true);

    LOBBYCLIENT.SetInterface(this);
    LOBBYCLIENT.SendServerListRequest();
    LOBBYCLIENT.SendPlayerListRequest();

    GAMECLIENT.SetInterface(this);
}
Exemple #7
0
void dskLobby::Msg_PaintBefore()
{
    UpdateServerList();
    UpdatePlayerList();
    GetCtrl<ctrlEdit>(21)->SetFocus();
}