From 13c8303c90e6cdba854b61f8129d71e43c84b211 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sun, 19 Sep 2021 18:25:37 +0200 Subject: [PATCH] refactor: moved TowerInfo class --- include/game/Towers.h | 18 ++++++++++++++++++ include/game/client/TowersInfo.h | 26 -------------------------- src/game/Towers.cpp | 22 ++++++++++++++++++++++ src/game/client/TowersInfo.cpp | 27 --------------------------- src/render/WorldRenderer.cpp | 1 - 5 files changed, 40 insertions(+), 54 deletions(-) delete mode 100644 include/game/client/TowersInfo.h delete mode 100644 src/game/client/TowersInfo.cpp diff --git a/include/game/Towers.h b/include/game/Towers.h index d28a5cd..28223fa 100644 --- a/include/game/Towers.h +++ b/include/game/Towers.h @@ -1,6 +1,8 @@ #pragma once #include +#include + #include "misc/Time.h" namespace td { @@ -98,6 +100,22 @@ public: // conve }; +class TowerInfo { +private: + std::string m_Name, m_Description; + bool m_IsBigTower; +public: + TowerInfo(std::string&& name, std::string&& description, bool big) : m_Name(std::move(name)), + m_Description(std::move(description)), m_IsBigTower(big) {} + + const std::string& getName() const { return m_Name; } + const std::string& getDescription() const { return m_Description; } + + bool isBigTower() const { return m_IsBigTower; } +}; + +const TowerInfo& getTowerInfo(TowerType type); + // ---------- Little Towers ---------- class LittleTower : public Tower { diff --git a/include/game/client/TowersInfo.h b/include/game/client/TowersInfo.h deleted file mode 100644 index eaf0ea3..0000000 --- a/include/game/client/TowersInfo.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "game/Towers.h" -#include - -namespace td { -namespace game { - -class TowerInfo { -private: - std::string m_Name, m_Description; - bool m_IsBigTower; -public: - TowerInfo(std::string&& name, std::string&& description, bool big) : m_Name(std::move(name)), - m_Description(std::move(description)), m_IsBigTower(big) {} - - const std::string& getName() const { return m_Name; } - const std::string& getDescription() const { return m_Description; } - - bool isBigTower() const { return m_IsBigTower; } -}; - -const TowerInfo& getTowerInfo(TowerType type); - -} // namespace game -} // namespace td diff --git a/src/game/Towers.cpp b/src/game/Towers.cpp index afb6000..2099a5f 100644 --- a/src/game/Towers.cpp +++ b/src/game/Towers.cpp @@ -111,6 +111,28 @@ const TowerStats* getTowerStats(TowerType type, TowerLevel level) { +static const std::map TowerInfoConstants = { + {TowerType::Archer, {"Archer", "Shoot projectiles", false}}, + {TowerType::Artillery, {"Artillery", "Explosion", false}}, + {TowerType::Ice, {"Ice", "Slow down enemies", false}}, + {TowerType::Leach, {"Leach", "Shoot projectiles", true}}, + {TowerType::Mage, {"Mage", "Set enemies on fire", false}}, + {TowerType::Necromancer, {"Necromancer", "Summon troops", true}}, + {TowerType::Poison, {"Poison", "Poison enemies", false}}, + {TowerType::Quake, {"Quake", "Shoot projectiles", false}}, + {TowerType::Sorcerer, {"Sorcerer", "Summon friendly troops", false}}, + {TowerType::Turret, {"Turret", "Shoot arrow very fast", true}}, + {TowerType::Zeus, {"Zeus", "Strike lightning", false}}, +}; + +const TowerInfo& getTowerInfo(TowerType type) { + return TowerInfoConstants.at(type); +} + + + + + void ArcherTower::tick(std::uint64_t delta) { } diff --git a/src/game/client/TowersInfo.cpp b/src/game/client/TowersInfo.cpp deleted file mode 100644 index 2e5e314..0000000 --- a/src/game/client/TowersInfo.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "game/client/TowersInfo.h" - -#include - -namespace td { -namespace game { - -static const std::map TowerInfoConstants = { - {TowerType::Archer, {"Archer", "Shoot projectiles", false}}, - {TowerType::Artillery, {"Artillery", "Explosion", false}}, - {TowerType::Ice, {"Ice", "Slow down enemies", false}}, - {TowerType::Leach, {"Leach", "Shoot projectiles", true}}, - {TowerType::Mage, {"Mage", "Set enemies on fire", false}}, - {TowerType::Necromancer, {"Necromancer", "Summon troops", true}}, - {TowerType::Poison, {"Poison", "Poison enemies", false}}, - {TowerType::Quake, {"Quake", "Shoot projectiles", false}}, - {TowerType::Sorcerer, {"Sorcerer", "Summon friendly troops", false}}, - {TowerType::Turret, {"Turret", "Shoot arrow very fast", true}}, - {TowerType::Zeus, {"Zeus", "Strike lightning", false}}, -}; - -const TowerInfo& getTowerInfo(TowerType type) { - return TowerInfoConstants.at(type); -} - -} // namespace game -} // namespace td diff --git a/src/render/WorldRenderer.cpp b/src/render/WorldRenderer.cpp index 059e983..3c8168c 100644 --- a/src/render/WorldRenderer.cpp +++ b/src/render/WorldRenderer.cpp @@ -3,7 +3,6 @@ #include "render/Renderer.h" #include "../render/gui/imgui/imgui.h" #include "window/Display.h" -#include "game/client/TowersInfo.h" #include "game/client/ClientGame.h" #include