Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
LFGPlayerData.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#include "
LFGPlayerData.h
"
7
8
namespace
lfg
9
{
10
namespace
11
{
12
LfgPlayerQueueData
const
& EmptyPlayerQueueData()
13
{
14
static
LfgPlayerQueueData
empty;
15
return
empty;
16
}
17
}
18
19
LfgReturnLocation::LfgReturnLocation
() :
IsSet
(false),
MapId
(0),
X
(0.0f),
Y
(0.0f),
Z
(0.0f),
O
(0.0f)
20
{ }
21
22
LfgPlayerQueueData::LfgPlayerQueueData
() :
State
(
LFG_STATE_NONE
),
OldState
(
LFG_STATE_NONE
),
23
Roles
(0),
Comment
(
""
)
24
{ }
25
26
LfgPlayerData::LfgPlayerData
() :
m_Team
(0),
m_Group
(0),
m_ActiveQueueId
(0)
27
{ }
28
29
LfgPlayerData::~LfgPlayerData
() { }
30
31
void
LfgPlayerData::SetState
(
LfgState
state)
32
{
33
LfgPlayerQueueData
& data =
GetActiveQueueData
();
34
35
switch
(state)
36
{
37
case
LFG_STATE_NONE
:
38
data.
State
=
LFG_STATE_NONE
;
39
data.
OldState
=
LFG_STATE_NONE
;
40
m_Queues
.erase(
m_ActiveQueueId
);
41
m_ActiveQueueId
= 0;
42
return
;
43
case
LFG_STATE_FINISHED_DUNGEON
:
44
data.
Roles
= 0;
45
data.
SelectedDungeons
.clear();
46
data.
Comment
.clear();
47
// No break on purpose
48
case
LFG_STATE_DUNGEON
:
49
data.
OldState
= state;
50
// No break on purpose
51
default
:
52
data.
State
= state;
53
}
54
}
55
56
void
LfgPlayerData::RestoreState
()
57
{
58
LfgPlayerQueueData
& data =
GetActiveQueueData
();
59
60
if
(data.
OldState
==
LFG_STATE_NONE
)
61
{
62
data.
SelectedDungeons
.clear();
63
data.
Roles
= 0;
64
}
65
66
data.
State
= data.
OldState
;
67
}
68
69
void
LfgPlayerData::SetTeam
(
uint8
team)
70
{
71
m_Team
= team;
72
}
73
74
void
LfgPlayerData::SetGroup
(
uint64
group)
75
{
76
m_Group
= group;
77
}
78
79
void
LfgPlayerData::SetActiveQueueId
(
uint8
queueId)
80
{
81
m_ActiveQueueId
= queueId;
82
GetActiveQueueData
();
83
}
84
85
void
LfgPlayerData::SetRoles
(
uint8
roles)
86
{
87
GetActiveQueueData
().
Roles
= roles;
88
}
89
90
void
LfgPlayerData::SetComment
(std::string
const
& comment)
91
{
92
GetActiveQueueData
().
Comment
= comment;
93
}
94
95
void
LfgPlayerData::SetSelectedDungeons
(
LfgDungeonSet
const
& dungeons)
96
{
97
GetActiveQueueData
().
SelectedDungeons
= dungeons;
98
}
99
100
void
LfgPlayerData::SetReturnLocation
(
uint32
mapId,
float
x,
float
y,
float
z,
float
o)
101
{
102
LfgReturnLocation
& location =
GetActiveQueueData
().
ReturnLocation
;
103
location.
IsSet
=
true
;
104
location.
MapId
= mapId;
105
location.
X
= x;
106
location.
Y
= y;
107
location.
Z
= z;
108
location.
O
= o;
109
}
110
111
void
LfgPlayerData::ClearReturnLocation
()
112
{
113
LfgPlayerQueueDataContainer::iterator itr =
m_Queues
.find(
m_ActiveQueueId
);
114
if
(itr !=
m_Queues
.end())
115
itr->second.ReturnLocation =
LfgReturnLocation
();
116
}
117
118
LfgState
LfgPlayerData::GetState
()
const
119
{
120
return
GetActiveQueueData
().
State
;
121
}
122
123
LfgState
LfgPlayerData::GetOldState
()
const
124
{
125
return
GetActiveQueueData
().
OldState
;
126
}
127
128
uint8
LfgPlayerData::GetTeam
()
const
129
{
130
return
m_Team
;
131
}
132
133
uint64
LfgPlayerData::GetGroup
()
const
134
{
135
return
m_Group
;
136
}
137
138
uint8
LfgPlayerData::GetActiveQueueId
()
const
139
{
140
return
m_ActiveQueueId
;
141
}
142
143
LfgPlayerQueueDataContainer
const
&
LfgPlayerData::GetQueues
()
const
144
{
145
return
m_Queues
;
146
}
147
148
uint8
LfgPlayerData::GetRoles
()
const
149
{
150
return
GetActiveQueueData
().
Roles
;
151
}
152
153
std::string
const
&
LfgPlayerData::GetComment
()
const
154
{
155
return
GetActiveQueueData
().
Comment
;
156
}
157
158
LfgDungeonSet
const
&
LfgPlayerData::GetSelectedDungeons
()
const
159
{
160
return
GetActiveQueueData
().
SelectedDungeons
;
161
}
162
163
LfgReturnLocation
const
&
LfgPlayerData::GetReturnLocation
()
const
164
{
165
return
GetActiveQueueData
().
ReturnLocation
;
166
}
167
168
LfgPlayerQueueData
&
LfgPlayerData::GetActiveQueueData
()
169
{
170
return
m_Queues
[
m_ActiveQueueId
];
171
}
172
173
LfgPlayerQueueData
const
&
LfgPlayerData::GetActiveQueueData
()
const
174
{
175
LfgPlayerQueueDataContainer::const_iterator itr =
m_Queues
.find(
m_ActiveQueueId
);
176
if
(itr !=
m_Queues
.end())
177
return
itr->second;
178
179
return
EmptyPlayerQueueData();
180
}
181
182
}
// namespace lfg
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
LFGPlayerData.h
lfg::LfgPlayerData::m_Team
uint8 m_Team
Player team - determines the queue to join.
Definition
LFGPlayerData.h:82
lfg::LfgPlayerData::GetReturnLocation
LfgReturnLocation const & GetReturnLocation() const
Definition
LFGPlayerData.cpp:163
lfg::LfgPlayerData::GetActiveQueueData
LfgPlayerQueueData & GetActiveQueueData()
Definition
LFGPlayerData.cpp:168
lfg::LfgPlayerData::m_ActiveQueueId
uint8 m_ActiveQueueId
Active queue data owner.
Definition
LFGPlayerData.h:86
lfg::LfgPlayerData::GetOldState
LfgState GetOldState() const
Definition
LFGPlayerData.cpp:123
lfg::LfgPlayerData::ClearReturnLocation
void ClearReturnLocation()
Definition
LFGPlayerData.cpp:111
lfg::LfgPlayerData::GetQueues
LfgPlayerQueueDataContainer const & GetQueues() const
Definition
LFGPlayerData.cpp:143
lfg::LfgPlayerData::GetComment
std::string const & GetComment() const
Definition
LFGPlayerData.cpp:153
lfg::LfgPlayerData::SetState
void SetState(LfgState state)
Definition
LFGPlayerData.cpp:31
lfg::LfgPlayerData::RestoreState
void RestoreState()
Definition
LFGPlayerData.cpp:56
lfg::LfgPlayerData::m_Group
uint64 m_Group
Original group of player when joined LFG.
Definition
LFGPlayerData.h:83
lfg::LfgPlayerData::SetSelectedDungeons
void SetSelectedDungeons(const LfgDungeonSet &dungeons)
Definition
LFGPlayerData.cpp:95
lfg::LfgPlayerData::SetGroup
void SetGroup(uint64 group)
Definition
LFGPlayerData.cpp:74
lfg::LfgPlayerData::SetTeam
void SetTeam(uint8 team)
Definition
LFGPlayerData.cpp:69
lfg::LfgPlayerData::GetTeam
uint8 GetTeam() const
Definition
LFGPlayerData.cpp:128
lfg::LfgPlayerData::SetReturnLocation
void SetReturnLocation(uint32 mapId, float x, float y, float z, float o)
Definition
LFGPlayerData.cpp:100
lfg::LfgPlayerData::GetActiveQueueId
uint8 GetActiveQueueId() const
Definition
LFGPlayerData.cpp:138
lfg::LfgPlayerData::m_Queues
LfgPlayerQueueDataContainer m_Queues
Queue-scoped player data.
Definition
LFGPlayerData.h:87
lfg::LfgPlayerData::GetRoles
uint8 GetRoles() const
Definition
LFGPlayerData.cpp:148
lfg::LfgPlayerData::GetState
LfgState GetState() const
Definition
LFGPlayerData.cpp:118
lfg::LfgPlayerData::SetRoles
void SetRoles(uint8 roles)
Definition
LFGPlayerData.cpp:85
lfg::LfgPlayerData::GetGroup
uint64 GetGroup() const
Definition
LFGPlayerData.cpp:133
lfg::LfgPlayerData::~LfgPlayerData
~LfgPlayerData()
Definition
LFGPlayerData.cpp:29
lfg::LfgPlayerData::SetActiveQueueId
void SetActiveQueueId(uint8 queueId)
Definition
LFGPlayerData.cpp:79
lfg::LfgPlayerData::LfgPlayerData
LfgPlayerData()
Definition
LFGPlayerData.cpp:26
lfg::LfgPlayerData::SetComment
void SetComment(std::string const &comment)
Definition
LFGPlayerData.cpp:90
lfg::LfgPlayerData::GetSelectedDungeons
LfgDungeonSet const & GetSelectedDungeons() const
Definition
LFGPlayerData.cpp:158
lfg
Definition
LFG.cpp:11
lfg::LfgState
LfgState
Definition
LFG.h:61
lfg::LFG_STATE_FINISHED_DUNGEON
@ LFG_STATE_FINISHED_DUNGEON
Definition
LFG.h:68
lfg::LFG_STATE_DUNGEON
@ LFG_STATE_DUNGEON
Definition
LFG.h:67
lfg::LFG_STATE_NONE
@ LFG_STATE_NONE
Definition
LFG.h:62
lfg::LfgDungeonSet
std::set< uint32 > LfgDungeonSet
Definition
LFG.h:107
lfg::LfgPlayerQueueDataContainer
std::map< uint8, LfgPlayerQueueData > LfgPlayerQueueDataContainer
Definition
LFGPlayerData.h:38
lfg::LfgPlayerQueueData
Definition
LFGPlayerData.h:27
lfg::LfgPlayerQueueData::ReturnLocation
LfgReturnLocation ReturnLocation
Player location before teleporting into LFG.
Definition
LFGPlayerData.h:35
lfg::LfgPlayerQueueData::Comment
std::string Comment
Player comment used when joined LFG.
Definition
LFGPlayerData.h:33
lfg::LfgPlayerQueueData::State
LfgState State
Current state in this queue.
Definition
LFGPlayerData.h:30
lfg::LfgPlayerQueueData::LfgPlayerQueueData
LfgPlayerQueueData()
Definition
LFGPlayerData.cpp:22
lfg::LfgPlayerQueueData::OldState
LfgState OldState
Old state for rolecheck/proposal restore.
Definition
LFGPlayerData.h:31
lfg::LfgPlayerQueueData::SelectedDungeons
LfgDungeonSet SelectedDungeons
Selected dungeons when joined LFG.
Definition
LFGPlayerData.h:34
lfg::LfgPlayerQueueData::Roles
uint8 Roles
Roles the player selected when joined LFG.
Definition
LFGPlayerData.h:32
lfg::LfgReturnLocation
Definition
LFGPlayerData.h:15
lfg::LfgReturnLocation::MapId
uint32 MapId
Definition
LFGPlayerData.h:19
lfg::LfgReturnLocation::Y
float Y
Definition
LFGPlayerData.h:21
lfg::LfgReturnLocation::X
float X
Definition
LFGPlayerData.h:20
lfg::LfgReturnLocation::IsSet
bool IsSet
Definition
LFGPlayerData.h:18
lfg::LfgReturnLocation::O
float O
Definition
LFGPlayerData.h:23
lfg::LfgReturnLocation::LfgReturnLocation
LfgReturnLocation()
Definition
LFGPlayerData.cpp:19
lfg::LfgReturnLocation::Z
float Z
Definition
LFGPlayerData.h:22
src
server
game
DungeonFinding
LFGPlayerData.cpp
Generated on
for Project SkyFire Core by
1.17.0