Moved ServerCreationRequest from CurrentUser into the server creation screen.
This commit is contained in:
parent
6afc12c866
commit
c0a70830c2
@ -253,34 +253,6 @@ namespace Online
|
||||
UserConfigParams::m_saved_session = false;
|
||||
} // signOut
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
const CurrentUser::ServerCreationRequest*
|
||||
CurrentUser::requestServerCreation(const core::stringw &name,
|
||||
int max_players)
|
||||
{
|
||||
assert(m_state == US_SIGNED_IN);
|
||||
ServerCreationRequest * request = new ServerCreationRequest();
|
||||
request->setServerURL("client-user.php");
|
||||
request->addParameter("action", "create_server");
|
||||
request->addParameter("token", getToken());
|
||||
request->addParameter("userid", getID());
|
||||
request->addParameter("name", name);
|
||||
request->addParameter("max_players", max_players);
|
||||
request->queue();
|
||||
return request;
|
||||
} // requestServerCreation
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
void CurrentUser::ServerCreationRequest::callback()
|
||||
{
|
||||
if(isSuccess())
|
||||
{
|
||||
Server * server = new Server(*getXMLData()->getNode("server"));
|
||||
ServersManager::get()->addServer(server);
|
||||
m_created_server_id = server->getServerId();
|
||||
}
|
||||
} // ServerCreationRequest::callback
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
CurrentUser::ServerJoinRequest*
|
||||
CurrentUser::requestServerJoin(uint32_t server_id,
|
||||
|
@ -72,19 +72,6 @@ namespace Online
|
||||
SignOutRequest() : XMLRequest(true,/*priority*/10) {}
|
||||
}; // SignOutRequest
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
class ServerCreationRequest : public XMLRequest {
|
||||
virtual void callback ();
|
||||
uint32_t m_created_server_id;
|
||||
public:
|
||||
ServerCreationRequest() : XMLRequest() {}
|
||||
const uint32_t getCreatedServerID() const
|
||||
{
|
||||
assert(isDone());
|
||||
return m_created_server_id;
|
||||
} // getCreatedServerID
|
||||
}; // ServerCreationRequest
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
class ServerJoinRequest : public XMLRequest {
|
||||
@ -176,7 +163,6 @@ namespace Online
|
||||
bool save_session,
|
||||
bool request_now = true);
|
||||
void requestSignOut();
|
||||
const ServerCreationRequest * requestServerCreation(const irr::core::stringw &name, int max_players);
|
||||
ServerJoinRequest * requestServerJoin(uint32_t server_id, bool request_now = true);
|
||||
|
||||
|
||||
|
@ -136,15 +136,32 @@ void CreateServerScreen::serverCreationRequest()
|
||||
}
|
||||
else
|
||||
{
|
||||
//m_options_widget->setDeactivated();
|
||||
m_server_creation_request = Online::CurrentUser::get()->requestServerCreation(name, max_players);
|
||||
|
||||
m_server_creation_request = new ServerCreationRequest();
|
||||
CurrentUser::setUserDetails(m_server_creation_request);
|
||||
m_server_creation_request->addParameter("action", "create_server");
|
||||
m_server_creation_request->addParameter("name", name);
|
||||
m_server_creation_request->addParameter("max_players", max_players);
|
||||
m_server_creation_request->queue();
|
||||
|
||||
return;
|
||||
}
|
||||
sfx_manager->quickSound("anvil");
|
||||
}
|
||||
// --------------------------------------------------------------------
|
||||
void CreateServerScreen::ServerCreationRequest::callback()
|
||||
{
|
||||
if (isSuccess())
|
||||
{
|
||||
Server *server = new Server(*getXMLData()->getNode("server"));
|
||||
ServersManager::get()->addServer(server);
|
||||
m_created_server_id = server->getServerId();
|
||||
} // isSuccess
|
||||
} // callback
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
void CreateServerScreen::eventCallback(Widget* widget, const std::string& name, const int playerID)
|
||||
void CreateServerScreen::eventCallback(Widget* widget, const std::string& name,
|
||||
const int playerID)
|
||||
{
|
||||
if (name == m_options_widget->m_properties[PROP_ID])
|
||||
{
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "guiengine/screen.hpp"
|
||||
#include "guiengine/widgets.hpp"
|
||||
#include "online/current_user.hpp"
|
||||
#include "online/xml_request.hpp"
|
||||
|
||||
|
||||
namespace GUIEngine { class Widget; class ListWidget; }
|
||||
@ -46,7 +47,22 @@ private:
|
||||
GUIEngine::IconButtonWidget * m_create_widget;
|
||||
GUIEngine::IconButtonWidget * m_cancel_widget;
|
||||
|
||||
const Online::CurrentUser::ServerCreationRequest * m_server_creation_request;
|
||||
// --------------------------------------------------------------------
|
||||
class ServerCreationRequest : public Online::XMLRequest
|
||||
{
|
||||
virtual void callback();
|
||||
uint32_t m_created_server_id;
|
||||
public:
|
||||
const uint32_t getCreatedServerID() const
|
||||
{
|
||||
assert(isDone());
|
||||
return m_created_server_id;
|
||||
} // getCreatedServerID
|
||||
}; // ServerCreationRequest
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
ServerCreationRequest *m_server_creation_request;
|
||||
|
||||
/** \brief Sets which widget has to be focused. Depends on the user state. */
|
||||
void setInitialFocus();
|
||||
|
Loading…
x
Reference in New Issue
Block a user