Mana
Loading...
Searching...
No Matches
generalhandler.cpp
Go to the documentation of this file.
1/*
2 * The Mana Client
3 * Copyright (C) 2009 The Mana World Development Team
4 * Copyright (C) 2009-2013 The Mana Developers
5 *
6 * This file is part of The Mana Client.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
23
24#include "client.h"
25
26#include "gui/skilldialog.h"
27
46
48
50
51namespace ManaServ {
52
56std::string netToken;
59
61 mAdminHandler(new AdminHandler),
62 mBeingHandler(new BeingHandler),
63 mBuySellHandler(new BuySellHandler),
64 mCharHandler(new CharHandler),
65 mChatHandler(new ChatHandler),
66 mEffectHandler(new EffectHandler),
67 mGameHandler(new GameHandler),
68 mGuildHandler(new GuildHandler),
69 mInventoryHandler(new InventoryHandler),
70 mItemHandler(new ItemHandler),
71 mLoginHandler(new LoginHandler),
72 mNpcHandler(new NpcHandler),
73 mPartyHandler(new PartyHandler),
74 mPlayerHandler(new PlayerHandler),
75 mTradeHandler(new TradeHandler),
76 mAbilityHandler(new AbilityHandler)
77{
78 initialize();
79
83
86}
87
106
124
126{
128
130 {
133 accountServerConnection = nullptr;
134 }
135
137 {
140 gameServerConnection = nullptr;
141 }
142
144 {
147 chatServerConnection = nullptr;
148 }
149
150 finalize();
151}
152
164
166 const Event &event)
167{
168 if (channel == Event::ClientChannel)
169 {
170 if (event.getType() == Event::StateChange)
171 {
172 int newState = event.getInt("newState");
173
174 if (newState == STATE_GAME)
175 {
176 auto *game = static_cast<GameHandler*>(Net::getGameHandler());
177 game->gameLoading();
178 }
179 }
180 }
181 else if (channel == Event::GameChannel)
182 {
183 if (event.getType() == Event::GuiWindowsLoaded)
184 {
186
188
190 }
191 }
192}
193
194} // namespace ManaServ
static void setState(State state)
Definition client.h:169
static State getState()
Definition client.h:172
void listen(Event::Channel channel)
Definition event.h:42
@ GuiWindowsLoaded
Definition event.h:82
@ StateChange
Definition event.h:96
Channel
Definition event.h:45
@ ClientChannel
Definition event.h:50
@ GameChannel
Definition event.h:52
Deals with incoming messages related to character selection.
Definition charhandler.h:40
void disconnect()
Disconnects from the given server.
void event(Event::Channel channel, const Event &event) override
MessageHandlerPtr mAdminHandler
MessageHandlerPtr mPlayerHandler
MessageHandlerPtr mGameHandler
MessageHandlerPtr mTradeHandler
MessageHandlerPtr mGuildHandler
MessageHandlerPtr mBeingHandler
MessageHandlerPtr mInventoryHandler
MessageHandlerPtr mChatHandler
MessageHandlerPtr mLoginHandler
MessageHandlerPtr mBuySellHandler
MessageHandlerPtr mNpcHandler
MessageHandlerPtr mItemHandler
MessageHandlerPtr mCharHandler
MessageHandlerPtr mPartyHandler
MessageHandlerPtr mEffectHandler
void clear()
Definition serverinfo.h:56
void loadSkills()
@ STATE_GET_CHARACTERS
Definition client.h:70
@ STATE_GAME
Definition client.h:73
@ STATE_SWITCH_CHARACTER
Definition client.h:91
SkillDialog * skillDialog
Definition game.cpp:97
ManaServ::LoginHandler * loginHandler
Definition net.cpp:51
void informStatusWindow()
ServerInfo gameServer
void clearNetworkHandlers()
Clears all registered message handlers.
Definition network.cpp:100
Connection * getConnection()
Returns a new Connection object.
Definition network.cpp:77
void flush()
Definition network.cpp:135
void initialize()
Initializes the network subsystem.
Definition network.cpp:47
Connection * gameServerConnection
std::string netToken
Connection * chatServerConnection
Connection * accountServerConnection
void registerHandler(MessageHandler *handler)
Registers a message handler.
Definition network.cpp:88
ServerInfo chatServer
void finalize()
Finalizes the network subsystem.
Definition network.cpp:62
LoginHandler * getLoginHandler()
Definition net.cpp:95
GameHandler * getGameHandler()
Definition net.cpp:75
CharHandler * getCharHandler()
Definition net.cpp:65
void setAttribute(int id, int value, bool notify)
Changes the value of the given attribute.
@ EXP_NEEDED
Definition playerinfo.h:33