mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-18 01:34:33 +00:00
refactor(Core/World): Create WorldSessionMgr to split session logic out of World (#21400)
This commit is contained in:
@@ -32,6 +32,7 @@ EndScriptData */
|
||||
#include "Player.h"
|
||||
#include "World.h"
|
||||
#include "WorldSession.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
|
||||
using namespace Acore::ChatCommands;
|
||||
|
||||
@@ -87,7 +88,7 @@ public:
|
||||
if (message.empty())
|
||||
return false;
|
||||
|
||||
sWorld->SendServerMessage(SERVER_MSG_STRING, Acore::StringFormat(handler->GetAcoreString(LANG_SYSTEMMESSAGE), message.data()));
|
||||
sWorldSessionMgr->SendServerMessage(SERVER_MSG_STRING, Acore::StringFormat(handler->GetAcoreString(LANG_SYSTEMMESSAGE), message.data()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -112,7 +113,7 @@ public:
|
||||
|
||||
WorldPacket data(SMSG_NOTIFICATION, (str.size() + 1));
|
||||
data << str;
|
||||
sWorld->SendGlobalMessage(&data);
|
||||
sWorldSessionMgr->SendGlobalMessage(&data);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -128,7 +129,7 @@ public:
|
||||
|
||||
WorldPacket data(SMSG_NOTIFICATION, (str.size() + 1));
|
||||
data << str;
|
||||
sWorld->SendGlobalGMMessage(&data);
|
||||
sWorldSessionMgr->SendGlobalGMMessage(&data);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "TargetedMovementGenerator.h"
|
||||
#include "Tokenize.h"
|
||||
#include "WeatherMgr.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
@@ -2451,7 +2452,7 @@ public:
|
||||
|
||||
// find only player from same account if any
|
||||
if (!target)
|
||||
if (WorldSession* session = sWorld->FindSession(accountId))
|
||||
if (WorldSession* session = sWorldSessionMgr->FindSession(accountId))
|
||||
{
|
||||
target = session->GetPlayer();
|
||||
}
|
||||
@@ -2557,7 +2558,7 @@ public:
|
||||
// find only player from same account if any
|
||||
if (!playerTarget)
|
||||
{
|
||||
if (WorldSession* session = sWorld->FindSession(accountId))
|
||||
if (WorldSession* session = sWorldSessionMgr->FindSession(accountId))
|
||||
{
|
||||
playerTarget = session->GetPlayer();
|
||||
}
|
||||
@@ -2946,7 +2947,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
sWorld->SendGlobalMessage(WorldPackets::Misc::Playsound(soundId).Write());
|
||||
sWorldSessionMgr->SendGlobalMessage(WorldPackets::Misc::Playsound(soundId).Write());
|
||||
|
||||
handler->PSendSysMessage(LANG_COMMAND_PLAYED_TO_ALL, soundId);
|
||||
return true;
|
||||
|
||||
@@ -29,6 +29,7 @@ EndScriptData */
|
||||
#include "Pet.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
|
||||
using namespace Acore::ChatCommands;
|
||||
|
||||
@@ -302,7 +303,7 @@ public:
|
||||
stmt->SetData(0, uint16(atLogin));
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
sWorld->DoForAllOnlinePlayers([&] (Player* player){
|
||||
sWorldSessionMgr->DoForAllOnlinePlayers([&] (Player* player){
|
||||
player->SetAtLoginFlag(atLogin);
|
||||
});
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "UpdateTime.h"
|
||||
#include "VMapFactory.h"
|
||||
#include "VMapMgr2.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
#include <boost/version.hpp>
|
||||
#include <filesystem>
|
||||
#include <numeric>
|
||||
@@ -259,10 +260,10 @@ public:
|
||||
static bool HandleServerInfoCommand(ChatHandler* handler)
|
||||
{
|
||||
std::string realmName = sWorld->GetRealmName();
|
||||
uint32 playerCount = sWorld->GetPlayerCount();
|
||||
uint32 activeSessionCount = sWorld->GetActiveSessionCount();
|
||||
uint32 queuedSessionCount = sWorld->GetQueuedSessionCount();
|
||||
uint32 connPeak = sWorld->GetMaxActiveSessionCount();
|
||||
uint32 playerCount = sWorldSessionMgr->GetPlayerCount();
|
||||
uint32 activeSessionCount = sWorldSessionMgr->GetActiveSessionCount();
|
||||
uint32 queuedSessionCount = sWorldSessionMgr->GetQueuedSessionCount();
|
||||
uint32 connPeak = sWorldSessionMgr->GetMaxActiveSessionCount();
|
||||
|
||||
handler->PSendSysMessage("{}", GitRevision::GetFullVersion());
|
||||
if (!queuedSessionCount)
|
||||
|
||||
Reference in New Issue
Block a user