refactor: switch world handler parameters to map of repositories

This commit is contained in:
k0t9i
2023-10-16 23:50:29 +04:00
parent ede55a870e
commit 9836ef3a17
3 changed files with 29 additions and 60 deletions

View File

@@ -22,14 +22,7 @@ public:
m_Transport(Application::PIPE_NAME),
m_WorldHandler
(
m_AbstractFactory.GetHeroRepository(),
m_AbstractFactory.GetDropRepository(),
m_AbstractFactory.GetNPCRepository(),
m_AbstractFactory.GetPlayerRepository(),
m_AbstractFactory.GetSkillRepository(),
m_AbstractFactory.GetItemRepository(),
m_AbstractFactory.GetAbnormalEffectRepository(),
m_AbstractFactory.GetChatMessageRepository(),
m_AbstractFactory.GetRepositories(),
m_Serializer,
Services::IncomingMessageProcessor(m_MessageFactory, m_AbstractFactory.GetHeroService()),
m_Transport

View File

@@ -1,5 +1,7 @@
#pragma once
#include<map>
#include <string>
#include "Domain/Repositories/EntityRepositoryInterface.h"
#include "Domain/Services/HeroServiceInterface.h"
#include "GameStructs/NetworkHandlerInterface.h"
@@ -31,5 +33,19 @@ public:
virtual L2GameDataInterface& GetL2GameData() const = 0;
virtual FNameInterface& GetFName() const = 0;
virtual const std::map<std::wstring, Repositories::EntityRepositoryInterface&> GetRepositories() const
{
return {
{L"hero", GetHeroRepository()},
{L"drop", GetDropRepository()},
{L"npc", GetNPCRepository()},
{L"player", GetPlayerRepository()},
{L"skill", GetSkillRepository()},
{L"item", GetItemRepository()},
{L"abnormalEffect", GetAbnormalEffectRepository()},
{L"chat", GetChatMessageRepository()}
};
}
static const VersionAbstractFactory& GetFactory(Version version, const uint16_t radius);
};