Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
PlayerTaxi.h
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
#ifndef SF_PLAYERTAXI_H
7
#define SF_PLAYERTAXI_H
8
9
class
PlayerTaxi
10
{
11
public
:
12
PlayerTaxi
();
13
~PlayerTaxi
()
14
{ }
15
// Nodes
16
void
InitTaxiNodes
(
uint32
race,
uint32
chrClass,
uint8
level);
17
void
InitTaxiNodesForClass
(
uint32
chrClass);
18
void
InitTaxiNodesForRace
(
uint32
race);
19
void
InitTaxiNodesForFaction
(
uint32
faction);
20
void
InitTaxiNodesForLvl
(
uint8
level);
21
22
void
LoadTaxiMask
(std::string
const
& data);
23
24
bool
IsTaximaskNodeKnown
(
uint32
nodeidx)
const
25
{
26
uint8
field =
uint8
((nodeidx - 1) / 8);
27
uint32
submask = 1 << ((nodeidx - 1) % 8);
28
return
(
m_taximask
[field] & submask) == submask;
29
}
30
bool
SetTaximaskNode
(
uint32
nodeidx)
31
{
32
uint8
field =
uint8
((nodeidx - 1) / 8);
33
uint32
submask = 1 << ((nodeidx - 1) % 8);
34
if
((
m_taximask
[field] & submask) != submask)
35
{
36
m_taximask
[field] |= submask;
37
return
true
;
38
}
39
else
40
return
false
;
41
}
42
void
AppendTaximaskTo
(
ByteBuffer
& data,
bool
all);
43
44
// Destinations
45
bool
LoadTaxiDestinationsFromString
(std::string
const
& values,
uint32
team);
46
std::string
SaveTaxiDestinationsToString
();
47
48
void
ClearTaxiDestinations
()
49
{
50
m_TaxiDestinations
.clear();
51
}
52
void
AddTaxiDestination
(
uint32
dest)
53
{
54
m_TaxiDestinations
.push_back(dest);
55
}
56
uint32
GetTaxiSource
()
const
57
{
58
return
m_TaxiDestinations
.empty() ? 0 :
m_TaxiDestinations
.front();
59
}
60
uint32
GetTaxiDestination
()
const
61
{
62
return
m_TaxiDestinations
.size() < 2 ? 0 :
m_TaxiDestinations
[1];
63
}
64
uint32
GetCurrentTaxiPath
()
const
;
65
uint32
NextTaxiDestination
()
66
{
67
m_TaxiDestinations
.pop_front();
68
return
GetTaxiDestination
();
69
}
70
bool
empty
()
const
71
{
72
return
m_TaxiDestinations
.empty();
73
}
74
75
friend
std::ostringstream&
operator<<
(std::ostringstream& ss,
PlayerTaxi
const
& taxi);
76
private
:
77
TaxiMask
m_taximask
;
78
std::deque<uint32>
m_TaxiDestinations
;
79
};
80
81
std::ostringstream&
operator<<
(std::ostringstream& ss,
PlayerTaxi
const
& taxi);
82
83
#endif
TaxiMask
uint8 TaxiMask[TaxiMaskSize]
Definition
DBCStructure.h:3087
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
operator<<
std::ostringstream & operator<<(std::ostringstream &ss, PlayerTaxi const &taxi)
Definition
PlayerTaxi.cpp:181
ByteBuffer
Definition
ByteBuffer.h:120
PlayerTaxi
Definition
PlayerTaxi.h:10
PlayerTaxi::SaveTaxiDestinationsToString
std::string SaveTaxiDestinationsToString()
Definition
PlayerTaxi.cpp:155
PlayerTaxi::InitTaxiNodesForRace
void InitTaxiNodesForRace(uint32 race)
Definition
PlayerTaxi.cpp:38
PlayerTaxi::AddTaxiDestination
void AddTaxiDestination(uint32 dest)
Definition
PlayerTaxi.h:52
PlayerTaxi::InitTaxiNodes
void InitTaxiNodes(uint32 race, uint32 chrClass, uint8 level)
Definition
PlayerTaxi.cpp:16
PlayerTaxi::PlayerTaxi
PlayerTaxi()
Definition
PlayerTaxi.cpp:11
PlayerTaxi::SetTaximaskNode
bool SetTaximaskNode(uint32 nodeidx)
Definition
PlayerTaxi.h:30
PlayerTaxi::m_TaxiDestinations
std::deque< uint32 > m_TaxiDestinations
Definition
PlayerTaxi.h:78
PlayerTaxi::GetTaxiSource
uint32 GetTaxiSource() const
Definition
PlayerTaxi.h:56
PlayerTaxi::InitTaxiNodesForClass
void InitTaxiNodesForClass(uint32 chrClass)
Definition
PlayerTaxi.cpp:24
PlayerTaxi::LoadTaxiDestinationsFromString
bool LoadTaxiDestinationsFromString(std::string const &values, uint32 team)
Definition
PlayerTaxi.cpp:120
PlayerTaxi::IsTaximaskNodeKnown
bool IsTaximaskNodeKnown(uint32 nodeidx) const
Definition
PlayerTaxi.h:24
PlayerTaxi::empty
bool empty() const
Definition
PlayerTaxi.h:70
PlayerTaxi::LoadTaxiMask
void LoadTaxiMask(std::string const &data)
Definition
PlayerTaxi.cpp:94
PlayerTaxi::NextTaxiDestination
uint32 NextTaxiDestination()
Definition
PlayerTaxi.h:65
PlayerTaxi::GetTaxiDestination
uint32 GetTaxiDestination() const
Definition
PlayerTaxi.h:60
PlayerTaxi::operator<<
friend std::ostringstream & operator<<(std::ostringstream &ss, PlayerTaxi const &taxi)
Definition
PlayerTaxi.cpp:181
PlayerTaxi::InitTaxiNodesForLvl
void InitTaxiNodesForLvl(uint8 level)
Definition
PlayerTaxi.cpp:87
PlayerTaxi::AppendTaximaskTo
void AppendTaximaskTo(ByteBuffer &data, bool all)
Definition
PlayerTaxi.cpp:106
PlayerTaxi::ClearTaxiDestinations
void ClearTaxiDestinations()
Definition
PlayerTaxi.h:48
PlayerTaxi::m_taximask
TaxiMask m_taximask
Definition
PlayerTaxi.h:77
PlayerTaxi::GetCurrentTaxiPath
uint32 GetCurrentTaxiPath() const
Definition
PlayerTaxi.cpp:168
PlayerTaxi::~PlayerTaxi
~PlayerTaxi()
Definition
PlayerTaxi.h:13
PlayerTaxi::InitTaxiNodesForFaction
void InitTaxiNodesForFaction(uint32 faction)
Definition
PlayerTaxi.cpp:77
src
server
game
Entities
Player
PlayerTaxi.h
Generated on
for Project SkyFire Core by
1.17.0