CDClient cleanup and optimization (#1023)

* CDClient cleanup and optimization

- Use static function to get table name
- Remove unused GetName function
- Replace above function with a static GetTableName function
- Remove verbose comments
- Remove verbose initializers
- Remove need to specify table name when getting a table by name
- Remove unused typedef for mac and linux

* Re-add unused table

Convert tables to singletons

- Convert all CDClient tables to singletons
- Move Singleton.h to dCommon
- Reduce header clutter in CDClientManager
This commit is contained in:
David Markowitz
2023-03-17 07:36:21 -07:00
committed by GitHub
parent bd79e9433c
commit 7671cc6865
121 changed files with 399 additions and 1584 deletions

View File

@@ -6,6 +6,8 @@
#include "eItemType.h"
#include "eReplicaComponentType.h"
#include "CDComponentsRegistryTable.h"
std::vector<LOT> Inventory::m_GameMasterRestrictedItems = {
1727, // GM Only - JetPack
2243, // GM Only - Hammer of Doom
@@ -274,9 +276,9 @@ eInventoryType Inventory::FindInventoryTypeForLot(const LOT lot) {
}
const CDItemComponent& Inventory::FindItemComponent(const LOT lot) {
auto* registry = CDClientManager::Instance()->GetTable<CDComponentsRegistryTable>("ComponentsRegistry");
auto* registry = CDClientManager::Instance().GetTable<CDComponentsRegistryTable>();
auto* itemComponents = CDClientManager::Instance()->GetTable<CDItemComponentTable>("ItemComponent");
auto* itemComponents = CDClientManager::Instance().GetTable<CDItemComponentTable>();
const auto componentId = registry->GetByIDAndType(lot, eReplicaComponentType::ITEM);
@@ -292,7 +294,7 @@ const CDItemComponent& Inventory::FindItemComponent(const LOT lot) {
}
bool Inventory::IsValidItem(const LOT lot) {
auto* registry = CDClientManager::Instance()->GetTable<CDComponentsRegistryTable>("ComponentsRegistry");
auto* registry = CDClientManager::Instance().GetTable<CDComponentsRegistryTable>();
const auto componentId = registry->GetByIDAndType(lot, eReplicaComponentType::ITEM);