46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
#pragma once
|
|
|
|
//_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND
|
|
#include <Singleton.h>
|
|
class GameInstanceDungeon;
|
|
class ChaosZone;
|
|
struct MSG_AG_BATTLE_GROUND_ENTER_TEAM_CMD;
|
|
|
|
class ChaosZoneManager
|
|
{
|
|
public:
|
|
ChaosZoneManager(GameInstanceDungeon* const instace_dungeon) :
|
|
instace_dungeon_(instace_dungeon),
|
|
chaos_zone_(NULL)
|
|
{
|
|
}
|
|
~ChaosZoneManager()
|
|
{
|
|
}
|
|
void Init(const ChaosZoneType chaos_zone_type);
|
|
void Release();
|
|
void Update();
|
|
|
|
bool EnterPlayer(Player* const player);
|
|
void LeavePlayer(Player* const player);
|
|
void EnterTeam(const ChaosZoneTeam team_key, const BYTE player_count, DWORD* user_key_list);
|
|
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
|
|
VOID EnterTeam(MSG_AG_BATTLE_GROUND_ENTER_TEAM_CMD* cmd_msg);
|
|
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
|
|
eUSER_RELATION_TYPE IsFriendPVP(Player* attacker,Player* target);
|
|
|
|
#ifdef _NA_007065_20140217_CHAOSZONE_GOLDRUSH
|
|
void DeadCharacter(Character* const dead_character, Character* const kill_character);
|
|
#endif //_NA_007065_20140217_CHAOSZONE_GOLDRUSH
|
|
|
|
inline ChaosZoneType GetChaosZoneType() const { return chaos_zone_type_; }
|
|
inline ChaosZone* GetCurrentZone() const { return chaos_zone_; }
|
|
|
|
#ifdef _NA_008334_20150608_SONNENSCHEIN
|
|
RC::eSTATUS_RESULT ResurrectionAtSafezone(Player* player);
|
|
#endif //_NA_008334_20150608_SONNENSCHEIN
|
|
private:
|
|
GameInstanceDungeon* instace_dungeon_;
|
|
ChaosZone* chaos_zone_;
|
|
ChaosZoneType chaos_zone_type_;
|
|
}; |