ManaPlus
src
listeners
playerlistener.cpp
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2011-2019 The ManaPlus Developers
4
* Copyright (C) 2019-2021 Andrei Karas
5
*
6
* This file is part of The ManaPlus 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
22
#include "
listeners/playerlistener.h
"
23
24
#include "
actormanager.h
"
25
26
#include "
being/being.h
"
27
28
#include "
gui/windows/textdialog.h
"
29
30
#include "
debug.h
"
31
32
PlayerListener::PlayerListener
() :
33
ActionListener
(),
34
mNick(),
35
mDialog
(
nullptr
),
36
mType(
ActorType
::
Unknown
)
37
{
38
}
39
40
void
PlayerListener::action
(
const
ActionEvent
&event)
41
{
42
if
(event.
getId
() ==
"ok"
&& !
mNick
.empty() && (
mDialog
!=
nullptr
))
43
{
44
std::string comment =
mDialog
->
getText
();
45
Being
*
const
being =
actorManager
->
findBeingByName
(
46
mNick
,
static_cast<
ActorTypeT
>
(
mType
));
47
if
(being !=
nullptr
)
48
being->
setComment
(comment);
49
Being::saveComment
(
mNick
, comment,
mType
);
50
}
51
mDialog
=
nullptr
;
52
}
actorManager
ActorManager * actorManager
Definition:
actormanager.cpp:81
actormanager.h
ActorTypeT
ActorType ::T ActorTypeT
Definition:
actortype.h:43
being.h
ActionEvent
Definition:
actionevent.h:98
ActionEvent::getId
const std::string & getId() const
Definition:
actionevent.h:122
ActionListener
Definition:
actionlistener.h:79
ActorManager::findBeingByName
Being * findBeingByName(const std::string &name, const ActorTypeT type) const
Definition:
actormanager.cpp:870
Being
Definition:
being.h:96
Being::setComment
void setComment(const std::string &n)
Definition:
being.h:815
Being::saveComment
static void saveComment(const std::string &name, const std::string &comment, const ActorTypeT &type)
Definition:
being.cpp:4771
PlayerListener::mNick
std::string mNick
Definition:
playerlistener.h:52
PlayerListener::PlayerListener
PlayerListener()
Definition:
playerlistener.cpp:32
PlayerListener::mType
ActorTypeT mType
Definition:
playerlistener.h:54
PlayerListener::mDialog
TextDialog * mDialog
Definition:
playerlistener.h:53
PlayerListener::action
void action(const ActionEvent &event)
Definition:
playerlistener.cpp:40
TextDialog::getText
const std::string & getText() const
Definition:
textdialog.cpp:124
debug.h
nullptr
#define nullptr
Definition:
localconsts.h:45
ActorType
Definition:
actortype.h:28
ActorType::Unknown
@ Unknown
Definition:
actortype.h:30
Ea::NpcRecv::mDialog
NpcDialog * mDialog
Definition:
npcrecv.cpp:42
playerlistener.h
textdialog.h
Generated on Wed Mar 17 2021 19:19:08 for ManaPlus by
1.9.1