1 /*
2 * The ManaPlus Client
3 * Copyright (C) 2009 The Mana World Development Team
4 * Copyright (C) 2009-2010 The Mana Developers
5 * Copyright (C) 2011-2019 The ManaPlus Developers
6 * Copyright (C) 2019-2021 Andrei Karas
7 *
8 * This file is part of The ManaPlus Client.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 */
23
24 #include "net/ea/gamerecv.h"
25
26 #include "client.h"
27 #include "notifymanager.h"
28
29 #include "enums/resources/notifytypes.h"
30
31 #include "gui/windows/okdialog.h"
32
33 #include "gui/widgets/createwidget.h"
34
35 #include "net/messagein.h"
36
37 #include "utils/gettext.h"
38
39 #include "debug.h"
40
41 namespace Ea
42 {
43
44 namespace GameRecv
45 {
46 std::string mMap;
47 BeingId mCharID = BeingId_zero;
48 } // namespace GameRecv
49
processWhoAnswer(Net::MessageIn & msg)50 void GameRecv::processWhoAnswer(Net::MessageIn &msg)
51 {
52 NotifyManager::notify(NotifyTypes::ONLINE_USERS,
53 msg.readInt32("users count"));
54 }
55
processCharSwitchResponse(Net::MessageIn & msg)56 void GameRecv::processCharSwitchResponse(Net::MessageIn &msg)
57 {
58 if (msg.readUInt8("response") != 0U)
59 client->setState(State::SWITCH_CHARACTER);
60 }
61
processMapQuitResponse(Net::MessageIn & msg)62 void GameRecv::processMapQuitResponse(Net::MessageIn &msg)
63 {
64 if (msg.readInt16("response") != 0)
65 {
66 CREATEWIDGET(OkDialog,
67 // TRANSLATORS: error header
68 _("Game"),
69 // TRANSLATORS: error message
70 _("Request to quit denied!"),
71 // TRANSLATORS: ok dialog button
72 _("OK"),
73 DialogType::ERROR,
74 Modal_true,
75 ShowCenter_true,
76 nullptr,
77 260);
78 }
79 }
80
81 } // namespace Ea
82