Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
BattlePetPvpState.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 BATTLE_PET_PVP_STATE_H
7
#define BATTLE_PET_PVP_STATE_H
8
9
#include "
Common.h
"
10
#include "G3D/Vector3.h"
11
12
#include <ctime>
13
#include <map>
14
#include <vector>
15
16
struct
PetBattlePvpProposal
17
{
18
uint64
OpponentGuid
= 0;
19
bool
Accepted
=
false
;
20
time_t
CreatedAt
= 0;
21
};
22
23
struct
PetBattlePvpChallenge
24
{
25
uint64
ChallengerGuid
= 0;
26
uint64
TargetGuid
= 0;
27
G3D::Vector3
Origin
;
28
G3D::Vector3
Positions
[2];
29
float
Orientation
= 0.0f;
30
uint32
LocationResult
= 0;
31
bool
HasLocationResult
=
false
;
32
bool
PromptAcknowledged
=
false
;
33
time_t
CreatedAt
= 0;
34
};
35
36
class
PetBattlePvpStateStore
37
{
38
public
:
39
typedef
std::vector<uint64>
QueueContainer
;
40
typedef
std::map<uint64, PetBattlePvpProposal>
ProposalMap
;
41
typedef
std::map<uint64, PetBattlePvpChallenge>
ChallengeMap
;
42
typedef
std::map<uint64, uint64>
ChallengeTargetMap
;
43
44
QueueContainer
&
Queue
() {
return
_queue
; }
45
ProposalMap
&
Proposals
() {
return
_proposals
; }
46
ChallengeMap
&
ChallengesByTarget
() {
return
_challengesByTarget
; }
47
ChallengeTargetMap
&
ChallengeTargetByChallenger
() {
return
_challengeTargetByChallenger
; }
48
49
void
RemoveQueueEntry
(
uint64
playerGuid);
50
void
AddQueueEntry
(
uint64
playerGuid);
51
void
AddProposalPair
(
uint64
playerGuid,
uint64
opponentGuid, time_t createdAt);
52
void
ClearProposal
(
uint64
playerGuid);
53
void
AddChallenge
(
PetBattlePvpChallenge
const
& challenge);
54
void
EraseChallengeForTarget
(
uint64
targetGuid);
55
ChallengeMap::iterator
FindChallengeForPlayer
(
uint64
playerGuid);
56
57
private
:
58
QueueContainer
_queue
;
59
ProposalMap
_proposals
;
60
ChallengeMap
_challengesByTarget
;
61
ChallengeTargetMap
_challengeTargetByChallenger
;
62
};
63
64
PetBattlePvpStateStore
&
GetPetBattlePvpStateStore
();
65
66
#endif
GetPetBattlePvpStateStore
PetBattlePvpStateStore & GetPetBattlePvpStateStore()
Definition
BattlePetPvpState.cpp:66
Common.h
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
PetBattlePvpStateStore
Definition
BattlePetPvpState.h:37
PetBattlePvpStateStore::Proposals
ProposalMap & Proposals()
Definition
BattlePetPvpState.h:45
PetBattlePvpStateStore::ClearProposal
void ClearProposal(uint64 playerGuid)
Definition
BattlePetPvpState.cpp:26
PetBattlePvpStateStore::ProposalMap
std::map< uint64, PetBattlePvpProposal > ProposalMap
Definition
BattlePetPvpState.h:40
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::ChallengeTargetMap
std::map< uint64, uint64 > ChallengeTargetMap
Definition
BattlePetPvpState.h:42
PetBattlePvpStateStore::ChallengeMap
std::map< uint64, PetBattlePvpChallenge > ChallengeMap
Definition
BattlePetPvpState.h:41
PetBattlePvpStateStore::AddChallenge
void AddChallenge(PetBattlePvpChallenge const &challenge)
Definition
BattlePetPvpState.cpp:37
PetBattlePvpStateStore::ChallengeTargetByChallenger
ChallengeTargetMap & ChallengeTargetByChallenger()
Definition
BattlePetPvpState.h:47
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::ChallengesByTarget
ChallengeMap & ChallengesByTarget()
Definition
BattlePetPvpState.h:46
PetBattlePvpStateStore::_proposals
ProposalMap _proposals
Definition
BattlePetPvpState.h:59
PetBattlePvpStateStore::_challengeTargetByChallenger
ChallengeTargetMap _challengeTargetByChallenger
Definition
BattlePetPvpState.h:61
PetBattlePvpStateStore::QueueContainer
std::vector< uint64 > QueueContainer
Definition
BattlePetPvpState.h:39
PetBattlePvpStateStore::Queue
QueueContainer & Queue()
Definition
BattlePetPvpState.h:44
PetBattlePvpChallenge
Definition
BattlePetPvpState.h:24
PetBattlePvpChallenge::CreatedAt
time_t CreatedAt
Definition
BattlePetPvpState.h:33
PetBattlePvpChallenge::Positions
G3D::Vector3 Positions[2]
Definition
BattlePetPvpState.h:28
PetBattlePvpChallenge::ChallengerGuid
uint64 ChallengerGuid
Definition
BattlePetPvpState.h:25
PetBattlePvpChallenge::TargetGuid
uint64 TargetGuid
Definition
BattlePetPvpState.h:26
PetBattlePvpChallenge::Orientation
float Orientation
Definition
BattlePetPvpState.h:29
PetBattlePvpChallenge::LocationResult
uint32 LocationResult
Definition
BattlePetPvpState.h:30
PetBattlePvpChallenge::HasLocationResult
bool HasLocationResult
Definition
BattlePetPvpState.h:31
PetBattlePvpChallenge::Origin
G3D::Vector3 Origin
Definition
BattlePetPvpState.h:27
PetBattlePvpChallenge::PromptAcknowledged
bool PromptAcknowledged
Definition
BattlePetPvpState.h:32
PetBattlePvpProposal
Definition
BattlePetPvpState.h:17
PetBattlePvpProposal::CreatedAt
time_t CreatedAt
Definition
BattlePetPvpState.h:20
PetBattlePvpProposal::Accepted
bool Accepted
Definition
BattlePetPvpState.h:19
PetBattlePvpProposal::OpponentGuid
uint64 OpponentGuid
Definition
BattlePetPvpState.h:18
src
server
game
BattlePet
BattlePetPvpState.h
Generated on
for Project SkyFire Core by
1.17.0