#pragma once #include #include constexpr char SMALL_ENEMY_TAG[] = "small"; constexpr char BIG_ENEMY_TAG[] = "big"; class IEnemy { public: virtual ~IEnemy() noexcept = default; virtual int get_health() const noexcept = 0; virtual void do_damage(int damage) noexcept = 0; }; using IEnemyFactory = yacppdic::Factory()>;