Project SkyFire Core
SkyFire 5.4.8 server core API documentation
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
12class Player;
13class GameObject;
14class Creature;
15class ZoneScript;
16struct GossipMenuItems;
17
18// class to handle player enter / leave / areatrigger / GO use events
20{
21public:
22 // ctor
24 // dtor
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
39
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;
54private:
55 // contains all initiated battlefield events
56 // used when initing / cleaning up
58 // maps the zone ids to an battlefield event
59 // used in player event handling
61 // update interval
63};
64
65#define sBattlefieldMgr Skyfire::Singleton<BattlefieldMgr, Skyfire::NullMutex>::instance()
66
67#endif
std::uint32_t uint32
Definition Define.h:77
std::uint64_t uint64
Definition Define.h:76
void HandleGossipOption(Player *player, uint64 guid, uint32 gossipid)
void AddZone(uint32 zoneid, Battlefield *handle)
BattlefieldSet m_BattlefieldSet
void Update(uint32 diff)
bool CanTalkTo(Player *player, Creature *creature, GossipMenuItems gso)
void HandleDropFlag(Player *player, uint32 spellId)
BattlefieldMap m_BattlefieldMap
std::vector< Battlefield * > BattlefieldSet
void HandlePlayerResurrects(Player *player, uint32 areaflag)
void HandlePlayerEnterZone(Player *player, uint32 areaflag)
void HandlePlayerLeaveZone(Player *player, uint32 areaflag)
Battlefield * GetBattlefieldToZoneId(uint32 zoneid)
Battlefield * GetBattlefieldByBattleId(uint32 battleid)
ZoneScript * GetZoneScript(uint32 zoneId)
std::map< uint32, Battlefield * > BattlefieldMap
Battlefield * GetBattlefieldByGUID(uint64 guid)