Use smart pointers for basic libraries.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-03-26 22:46:14 +01:00
parent b5894ea8f2
commit 214ff81992
10 changed files with 103 additions and 126 deletions

View File

@@ -9,11 +9,14 @@ BattleLibrary* TestLibrary::_library = nullptr;
BattleLibrary* TestLibrary::Get() {
if (TestLibrary::_library == nullptr) {
auto l = new DataLibrary(new LibrarySettings(100, 4), BuildSpeciesLibrary(), BuildAttackLibrary(),
BuildItemLibrary(), BuildGrowthRateLibrary(), BuildTypeLibrary());
auto statCalc = new BattleStatCalculator();
auto battleLib = new BattleLibrary(l, statCalc, new DamageLibrary(), new ExperienceLibrary(),
new ScriptResolver(), new MiscLibrary());
auto l = new DataLibrary(
std::make_unique<LibrarySettings>(100, 4), std::unique_ptr<SpeciesLibrary>(BuildSpeciesLibrary()),
std::unique_ptr<AttackLibrary>(BuildAttackLibrary()), std::unique_ptr<ItemLibrary>(BuildItemLibrary()),
std::unique_ptr<GrowthRateLibrary>(BuildGrowthRateLibrary()),
std::unique_ptr<TypeLibrary>(BuildTypeLibrary()));
auto battleLib = new BattleLibrary(l, std::make_unique<BattleStatCalculator>(),
std::make_unique<DamageLibrary>(), std::make_unique<ExperienceLibrary>(),
std::make_unique<ScriptResolver>(), std::make_unique<MiscLibrary>());
TestLibrary::_library = battleLib;
}
return TestLibrary::_library;