Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
BattlefieldMgr.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 BATTLEFIELD_MGR_H_
7
#define BATTLEFIELD_MGR_H_
8
9
#include "
Battlefield.h
"
10
#include "
Platform/Singleton.h
"
11
12
class
Player
;
13
class
GameObject
;
14
class
Creature
;
15
class
ZoneScript
;
16
struct
GossipMenuItems
;
17
18
// class to handle player enter / leave / areatrigger / GO use events
19
class
BattlefieldMgr
20
{
21
public
:
22
// ctor
23
BattlefieldMgr
() :
m_UpdateTimer
(0) { }
24
// dtor
25
~BattlefieldMgr
();
26
27
// create battlefield events
28
void
InitBattlefield
();
29
// called when a player enters an battlefield area
30
void
HandlePlayerEnterZone
(
Player
* player,
uint32
areaflag);
31
// called when player leaves an battlefield area
32
void
HandlePlayerLeaveZone
(
Player
* player,
uint32
areaflag);
33
// called when player resurrects
34
void
HandlePlayerResurrects
(
Player
* player,
uint32
areaflag);
35
// return assigned battlefield
36
Battlefield
*
GetBattlefieldToZoneId
(
uint32
zoneid);
37
Battlefield
*
GetBattlefieldByBattleId
(
uint32
battleid);
38
Battlefield
*
GetBattlefieldByGUID
(
uint64
guid);
39
40
ZoneScript
*
GetZoneScript
(
uint32
zoneId);
41
42
void
AddZone
(
uint32
zoneid,
Battlefield
* handle);
43
44
void
Update
(
uint32
diff);
45
46
void
HandleGossipOption
(
Player
* player,
uint64
guid,
uint32
gossipid);
47
48
bool
CanTalkTo
(
Player
* player,
Creature
* creature,
GossipMenuItems
gso);
49
50
void
HandleDropFlag
(
Player
* player,
uint32
spellId);
51
52
typedef
std::vector < Battlefield* >
BattlefieldSet
;
53
typedef
std::map <
uint32
/* zoneid */
,
Battlefield
* >
BattlefieldMap
;
54
private
:
55
// contains all initiated battlefield events
56
// used when initing / cleaning up
57
BattlefieldSet
m_BattlefieldSet
;
58
// maps the zone ids to an battlefield event
59
// used in player event handling
60
BattlefieldMap
m_BattlefieldMap
;
61
// update interval
62
uint32
m_UpdateTimer
;
63
};
64
65
#define sBattlefieldMgr Skyfire::Singleton<BattlefieldMgr, Skyfire::NullMutex>::instance()
66
67
#endif
Battlefield.h
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
Singleton.h
Battlefield
Definition
Battlefield.h:184
BattlefieldMgr::HandleGossipOption
void HandleGossipOption(Player *player, uint64 guid, uint32 gossipid)
BattlefieldMgr::AddZone
void AddZone(uint32 zoneid, Battlefield *handle)
Definition
BattlefieldMgr.cpp:48
BattlefieldMgr::m_BattlefieldSet
BattlefieldSet m_BattlefieldSet
Definition
BattlefieldMgr.h:57
BattlefieldMgr::~BattlefieldMgr
~BattlefieldMgr()
Definition
BattlefieldMgr.cpp:11
BattlefieldMgr::Update
void Update(uint32 diff)
Definition
BattlefieldMgr.cpp:112
BattlefieldMgr::CanTalkTo
bool CanTalkTo(Player *player, Creature *creature, GossipMenuItems gso)
BattlefieldMgr::HandleDropFlag
void HandleDropFlag(Player *player, uint32 spellId)
BattlefieldMgr::InitBattlefield
void InitBattlefield()
Definition
BattlefieldMgr.cpp:18
BattlefieldMgr::m_BattlefieldMap
BattlefieldMap m_BattlefieldMap
Definition
BattlefieldMgr.h:60
BattlefieldMgr::BattlefieldSet
std::vector< Battlefield * > BattlefieldSet
Definition
BattlefieldMgr.h:52
BattlefieldMgr::HandlePlayerResurrects
void HandlePlayerResurrects(Player *player, uint32 areaflag)
BattlefieldMgr::m_UpdateTimer
uint32 m_UpdateTimer
Definition
BattlefieldMgr.h:62
BattlefieldMgr::HandlePlayerEnterZone
void HandlePlayerEnterZone(Player *player, uint32 areaflag)
Definition
BattlefieldMgr.cpp:53
BattlefieldMgr::HandlePlayerLeaveZone
void HandlePlayerLeaveZone(Player *player, uint32 areaflag)
Definition
BattlefieldMgr.cpp:67
BattlefieldMgr::GetBattlefieldToZoneId
Battlefield * GetBattlefieldToZoneId(uint32 zoneid)
Definition
BattlefieldMgr.cpp:80
BattlefieldMgr::GetBattlefieldByBattleId
Battlefield * GetBattlefieldByBattleId(uint32 battleid)
Definition
BattlefieldMgr.cpp:93
BattlefieldMgr::GetZoneScript
ZoneScript * GetZoneScript(uint32 zoneId)
Definition
BattlefieldMgr.cpp:124
BattlefieldMgr::BattlefieldMap
std::map< uint32, Battlefield * > BattlefieldMap
Definition
BattlefieldMgr.h:53
BattlefieldMgr::GetBattlefieldByGUID
Battlefield * GetBattlefieldByGUID(uint64 guid)
Definition
BattlefieldMgr.cpp:103
BattlefieldMgr::BattlefieldMgr
BattlefieldMgr()
Definition
BattlefieldMgr.h:23
Creature
Definition
Creature.h:427
GameObject
Definition
GameObject.h:629
Player
Definition
Player.h:1289
ZoneScript
Definition
ZoneScript.h:15
GossipMenuItems
Definition
ObjectMgr.h:527
src
server
game
Battlefield
BattlefieldMgr.h
Generated on
for Project SkyFire Core by
1.17.0