Files
.github
cmake
dAuthServer
dChatFilter
dChatServer
dCommon
dDatabase
CDClientDatabase
CDClientTables
CDActivitiesTable.cpp
CDActivitiesTable.h
CDActivityRewardsTable.cpp
CDActivityRewardsTable.h
CDAnimationsTable.cpp
CDAnimationsTable.h
CDBehaviorParameterTable.cpp
CDBehaviorParameterTable.h
CDBehaviorTemplateTable.cpp
CDBehaviorTemplateTable.h
CDBrickIDTableTable.cpp
CDBrickIDTableTable.h
CDComponentsRegistryTable.cpp
CDComponentsRegistryTable.h
CDCurrencyTableTable.cpp
CDCurrencyTableTable.h
CDDestructibleComponentTable.cpp
CDDestructibleComponentTable.h
CDEmoteTable.cpp
CDEmoteTable.h
CDFeatureGatingTable.cpp
CDFeatureGatingTable.h
CDInventoryComponentTable.cpp
CDInventoryComponentTable.h
CDItemComponentTable.cpp
CDItemComponentTable.h
CDItemSetSkillsTable.cpp
CDItemSetSkillsTable.h
CDItemSetsTable.cpp
CDItemSetsTable.h
CDLevelProgressionLookupTable.cpp
CDLevelProgressionLookupTable.h
CDLootMatrixTable.cpp
CDLootMatrixTable.h
CDLootTableTable.cpp
CDLootTableTable.h
CDMissionEmailTable.cpp
CDMissionEmailTable.h
CDMissionNPCComponentTable.cpp
CDMissionNPCComponentTable.h
CDMissionTasksTable.cpp
CDMissionTasksTable.h
CDMissionsTable.cpp
CDMissionsTable.h
CDMovementAIComponentTable.cpp
CDMovementAIComponentTable.h
CDObjectSkillsTable.cpp
CDObjectSkillsTable.h
CDObjectsTable.cpp
CDObjectsTable.h
CDPackageComponentTable.cpp
CDPackageComponentTable.h
CDPetComponentTable.cpp
CDPetComponentTable.h
CDPhysicsComponentTable.cpp
CDPhysicsComponentTable.h
CDPlayerFlagsTable.cpp
CDPlayerFlagsTable.h
CDPropertyEntranceComponentTable.cpp
CDPropertyEntranceComponentTable.h
CDPropertyTemplateTable.cpp
CDPropertyTemplateTable.h
CDProximityMonitorComponentTable.cpp
CDProximityMonitorComponentTable.h
CDRailActivatorComponent.cpp
CDRailActivatorComponent.h
CDRarityTableTable.cpp
CDRarityTableTable.h
CDRebuildComponentTable.cpp
CDRebuildComponentTable.h
CDRewardCodesTable.cpp
CDRewardCodesTable.h
CDRewardsTable.cpp
CDRewardsTable.h
CDScriptComponentTable.cpp
CDScriptComponentTable.h
CDSkillBehaviorTable.cpp
CDSkillBehaviorTable.h
CDTable.h
CDTamingBuildPuzzleTable.cpp
CDTamingBuildPuzzleTable.h
CDVendorComponentTable.cpp
CDVendorComponentTable.h
CDZoneTableTable.cpp
CDZoneTableTable.h
CMakeLists.txt
CDClientDatabase.cpp
CDClientDatabase.h
CDClientManager.cpp
CDClientManager.h
CMakeLists.txt
GameDatabase
CMakeLists.txt
MigrationRunner.cpp
MigrationRunner.h
ModelNormalizeMigration.cpp
ModelNormalizeMigration.h
dGame
dMasterServer
dNavigation
dNet
dPhysics
dScripts
dServer
dWeb
dWorldServer
dZoneManager
docs
migrations
resources
tests
thirdparty
vanity
.dockerignore
.editorconfig
.env.example
.git-blame-ignore-revs
.gitattributes
.gitignore
.gitmodules
CMakeLists.txt
CMakePresets.json
CMakeVariables.txt
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
SECURITY.md
build.sh
docker-compose.yml
entrypoint.sh
logo.png
systemd.example
versions.txt
DarkflameServer/dDatabase/CDClientDatabase/CDClientTables/CDBehaviorParameterTable.h
David Markowitz d2aeebcd46 chore: Move database storage containers to be translation unit local to allow for safe references ()
* Move CDClientManager to be a namespace

Tested that worlds still load data as expected.  Had no use being a singleton anyways.

* Move cdclient data storage to tu local containers

Allows some data from these containers to be saved on object by reference instead of always needing to copy.

iteration 2

- move all unnamed namespace containers to a singular spot
- use macro for template specialization and variable declaration
- use templates to allow for as little copy paste of types and functions as possible

* remember to use typename!

compiler believes T::StorageType is accessing a member, not a type.

* Update CDClientManager.cpp

* move to cpp?
2024-02-09 07:37:58 -06:00

19 lines
548 B
C++

#pragma once
// Custom Classes
#include "CDTable.h"
#include <unordered_map>
#include <unordered_set>
typedef uint64_t BehaviorParameterHash;
typedef float BehaviorParameterValue;
class CDBehaviorParameterTable : public CDTable<CDBehaviorParameterTable, std::unordered_map<BehaviorParameterHash, BehaviorParameterValue>> {
public:
void LoadValuesFromDatabase();
float GetValue(const uint32_t behaviorID, const std::string& name, const float defaultValue = 0);
std::map<std::string, float> GetParametersByBehaviorID(uint32_t behaviorID);
};