refactor: moved TowerInfo class
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
#include "misc/Time.h"
|
#include "misc/Time.h"
|
||||||
|
|
||||||
namespace td {
|
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 ----------
|
// ---------- Little Towers ----------
|
||||||
|
|
||||||
class LittleTower : public Tower {
|
class LittleTower : public Tower {
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include "game/Towers.h"
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -111,6 +111,28 @@ const TowerStats* getTowerStats(TowerType type, TowerLevel level) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static const std::map<TowerType, TowerInfo> 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) {
|
void ArcherTower::tick(std::uint64_t delta) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
#include "game/client/TowersInfo.h"
|
|
||||||
|
|
||||||
#include <map>
|
|
||||||
|
|
||||||
namespace td {
|
|
||||||
namespace game {
|
|
||||||
|
|
||||||
static const std::map<TowerType, TowerInfo> 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
|
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
#include "render/Renderer.h"
|
#include "render/Renderer.h"
|
||||||
#include "../render/gui/imgui/imgui.h"
|
#include "../render/gui/imgui/imgui.h"
|
||||||
#include "window/Display.h"
|
#include "window/Display.h"
|
||||||
#include "game/client/TowersInfo.h"
|
|
||||||
#include "game/client/ClientGame.h"
|
#include "game/client/ClientGame.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|||||||
Reference in New Issue
Block a user