Core/ObjectMgr: Refactor arena team related functions into dedicated class
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "ArenaTeam.h"
|
||||
#include "World.h"
|
||||
#include "Group.h"
|
||||
#include "ArenaTeamMgr.h"
|
||||
|
||||
ArenaTeam::ArenaTeam()
|
||||
{
|
||||
@@ -52,12 +53,12 @@ bool ArenaTeam::Create(uint32 captainGuid, uint8 type, std::string teamName, uin
|
||||
return false;
|
||||
|
||||
// Check if arena team name is already taken
|
||||
if (sObjectMgr->GetArenaTeamByName(TeamName))
|
||||
if (sArenaTeamMgr->GetArenaTeamByName(TeamName))
|
||||
return false;
|
||||
|
||||
|
||||
// Generate new arena team id
|
||||
TeamId = sObjectMgr->GenerateArenaTeamId();
|
||||
TeamId = sArenaTeamMgr->GenerateArenaTeamId();
|
||||
|
||||
// Assign member variables
|
||||
CaptainGuid = captainGuid;
|
||||
@@ -360,7 +361,7 @@ void ArenaTeam::Disband(WorldSession* session)
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
|
||||
// Remove arena team from ObjectMgr
|
||||
sObjectMgr->RemoveArenaTeam(TeamId);
|
||||
sArenaTeamMgr->RemoveArenaTeam(TeamId);
|
||||
}
|
||||
|
||||
void ArenaTeam::Roster(WorldSession* session)
|
||||
@@ -662,8 +663,8 @@ void ArenaTeam::FinishGame(int32 mod)
|
||||
|
||||
// Update team's rank, start with rank 1 and increase until no team with more rating was found
|
||||
Stats.Rank = 1;
|
||||
ObjectMgr::ArenaTeamMap::const_iterator i = sObjectMgr->GetArenaTeamMapBegin();
|
||||
for (; i != sObjectMgr->GetArenaTeamMapEnd(); ++i)
|
||||
ArenaTeamMgr::ArenaTeamContainer::const_iterator i = sArenaTeamMgr->GetArenaTeamMapBegin();
|
||||
for (; i != sArenaTeamMgr->GetArenaTeamMapEnd(); ++i)
|
||||
{
|
||||
if (i->second->GetType() == Type && i->second->GetStats().Rating > Stats.Rating)
|
||||
++Stats.Rank;
|
||||
|
||||
Reference in New Issue
Block a user