Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
BattlePetPvpState.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 "
BattlePetPvpState.h
"
7
8
#include <algorithm>
9
10
void
PetBattlePvpStateStore::RemoveQueueEntry
(
uint64
playerGuid)
11
{
12
_queue
.erase(std::remove(
_queue
.begin(),
_queue
.end(), playerGuid),
_queue
.end());
13
}
14
15
void
PetBattlePvpStateStore::AddQueueEntry
(
uint64
playerGuid)
16
{
17
_queue
.push_back(playerGuid);
18
}
19
20
void
PetBattlePvpStateStore::AddProposalPair
(
uint64
playerGuid,
uint64
opponentGuid, time_t createdAt)
21
{
22
_proposals
[playerGuid] = { opponentGuid,
false
, createdAt };
23
_proposals
[opponentGuid] = { playerGuid,
false
, createdAt };
24
}
25
26
void
PetBattlePvpStateStore::ClearProposal
(
uint64
playerGuid)
27
{
28
ProposalMap::iterator proposalItr =
_proposals
.find(playerGuid);
29
if
(proposalItr ==
_proposals
.end())
30
return
;
31
32
uint64
const
opponentGuid = proposalItr->second.OpponentGuid;
33
_proposals
.erase(playerGuid);
34
_proposals
.erase(opponentGuid);
35
}
36
37
void
PetBattlePvpStateStore::AddChallenge
(
PetBattlePvpChallenge
const
& challenge)
38
{
39
_challengesByTarget
[challenge.
TargetGuid
] = challenge;
40
_challengeTargetByChallenger
[challenge.
ChallengerGuid
] = challenge.
TargetGuid
;
41
}
42
43
void
PetBattlePvpStateStore::EraseChallengeForTarget
(
uint64
targetGuid)
44
{
45
ChallengeMap::iterator challengeItr =
_challengesByTarget
.find(targetGuid);
46
if
(challengeItr ==
_challengesByTarget
.end())
47
return
;
48
49
_challengeTargetByChallenger
.erase(challengeItr->second.ChallengerGuid);
50
_challengesByTarget
.erase(challengeItr);
51
}
52
53
PetBattlePvpStateStore::ChallengeMap::iterator
PetBattlePvpStateStore::FindChallengeForPlayer
(
uint64
playerGuid)
54
{
55
ChallengeMap::iterator challengeItr =
_challengesByTarget
.find(playerGuid);
56
if
(challengeItr !=
_challengesByTarget
.end())
57
return
challengeItr;
58
59
ChallengeTargetMap::iterator targetItr =
_challengeTargetByChallenger
.find(playerGuid);
60
if
(targetItr ==
_challengeTargetByChallenger
.end())
61
return
_challengesByTarget
.end();
62
63
return
_challengesByTarget
.find(targetItr->second);
64
}
65
66
PetBattlePvpStateStore
&
GetPetBattlePvpStateStore
()
67
{
68
static
PetBattlePvpStateStore
petBattlePvpStateStore;
69
return
petBattlePvpStateStore;
70
}
GetPetBattlePvpStateStore
PetBattlePvpStateStore & GetPetBattlePvpStateStore()
Definition
BattlePetPvpState.cpp:66
BattlePetPvpState.h
uint64
std::uint64_t uint64
Definition
Define.h:76
PetBattlePvpStateStore
Definition
BattlePetPvpState.h:37
PetBattlePvpStateStore::ClearProposal
void ClearProposal(uint64 playerGuid)
Definition
BattlePetPvpState.cpp:26
PetBattlePvpStateStore::FindChallengeForPlayer
ChallengeMap::iterator FindChallengeForPlayer(uint64 playerGuid)
Definition
BattlePetPvpState.cpp:53
PetBattlePvpStateStore::EraseChallengeForTarget
void EraseChallengeForTarget(uint64 targetGuid)
Definition
BattlePetPvpState.cpp:43
PetBattlePvpStateStore::AddQueueEntry
void AddQueueEntry(uint64 playerGuid)
Definition
BattlePetPvpState.cpp:15
PetBattlePvpStateStore::AddProposalPair
void AddProposalPair(uint64 playerGuid, uint64 opponentGuid, time_t createdAt)
Definition
BattlePetPvpState.cpp:20
PetBattlePvpStateStore::AddChallenge
void AddChallenge(PetBattlePvpChallenge const &challenge)
Definition
BattlePetPvpState.cpp:37
PetBattlePvpStateStore::_challengesByTarget
ChallengeMap _challengesByTarget
Definition
BattlePetPvpState.h:60
PetBattlePvpStateStore::_queue
QueueContainer _queue
Definition
BattlePetPvpState.h:58
PetBattlePvpStateStore::RemoveQueueEntry
void RemoveQueueEntry(uint64 playerGuid)
Definition
BattlePetPvpState.cpp:10
PetBattlePvpStateStore::_proposals
ProposalMap _proposals
Definition
BattlePetPvpState.h:59
PetBattlePvpStateStore::_challengeTargetByChallenger
ChallengeTargetMap _challengeTargetByChallenger
Definition
BattlePetPvpState.h:61
PetBattlePvpChallenge
Definition
BattlePetPvpState.h:24
PetBattlePvpChallenge::ChallengerGuid
uint64 ChallengerGuid
Definition
BattlePetPvpState.h:25
PetBattlePvpChallenge::TargetGuid
uint64 TargetGuid
Definition
BattlePetPvpState.h:26
src
server
game
BattlePet
BattlePetPvpState.cpp
Generated on
for Project SkyFire Core by
1.17.0