F4MP/codigos originales/tiltedcode/Code/server/Components/ModsComponent.h

42 lines
967 B
C
Raw Normal View History

#pragma once
#ifndef TP_INTERNAL_COMPONENTS_GUARD
#error Include Components.h instead
#endif
namespace ESLoader
{
struct PluginData;
}
struct ModsComponent
{
struct Entry
{
uint32_t id;
uint32_t refCount;
};
uint32_t AddStandard(const String& acpFilename) noexcept;
uint32_t AddLite(const String& acpFilename) noexcept;
void AddServerMod(const ESLoader::PluginData& acData);
const auto& GetStandardMods() const noexcept { return m_standardMods; }
const auto& GetLiteMods() const noexcept { return m_liteMods; }
const auto& GetServerMods() const noexcept { return m_serverMods; }
bool IsInstalled(const String& acpFileName) const noexcept;
using TModList = TiltedPhoques::Map<String, Entry>;
private:
uint32_t m_seed = 0;
// Mappings of ids owned by the server
TModList m_standardMods;
TModList m_liteMods;
// List of mods installed on the server.
TModList m_serverMods;
};