2011-08-15 16:11:24 +02:00
|
|
|
#include "game.h"
|
2011-08-15 23:02:52 +02:00
|
|
|
#include "localplayer.h"
|
2011-08-16 02:30:31 +02:00
|
|
|
#include <otclient/net/protocolgame.h>
|
2011-08-15 16:11:24 +02:00
|
|
|
|
|
|
|
Game g_game;
|
|
|
|
|
2011-08-16 02:30:31 +02:00
|
|
|
void Game::init()
|
2011-08-15 16:11:24 +02:00
|
|
|
{
|
|
|
|
m_online = false;
|
|
|
|
}
|
2011-08-15 23:02:52 +02:00
|
|
|
|
2011-08-16 02:30:31 +02:00
|
|
|
void Game::terminate()
|
|
|
|
{
|
|
|
|
if(m_online)
|
|
|
|
logout();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Game::loginWorld(const std::string& account, const std::string& password, uint32 worldIp, uint16 worldPort, const std::string& characterName)
|
|
|
|
{
|
|
|
|
m_protocolGame = ProtocolGamePtr(new ProtocolGame);
|
|
|
|
m_protocolGame->login(account, password, worldIp, worldPort, characterName);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Game::logout()
|
|
|
|
{
|
|
|
|
m_protocolGame->sendLogout();
|
|
|
|
onLogout();
|
|
|
|
}
|
|
|
|
|
2011-08-15 23:02:52 +02:00
|
|
|
void Game::onLogin()
|
|
|
|
{
|
|
|
|
m_localPlayer = LocalPlayerPtr(new LocalPlayer);
|
|
|
|
m_online = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Game::onLogout()
|
|
|
|
{
|
2011-08-16 05:27:46 +02:00
|
|
|
if(m_protocolGame) {
|
|
|
|
m_protocolGame->disconnect();
|
|
|
|
m_protocolGame.reset();
|
|
|
|
}
|
2011-08-15 23:02:52 +02:00
|
|
|
m_localPlayer.reset();
|
|
|
|
m_online = false;
|
|
|
|
}
|