feat: add archer tower aoe
This commit is contained in:
@@ -114,7 +114,19 @@ typedef std::array<Color, 2> SpawnColorPalette;
|
||||
|
||||
typedef std::vector<TowerPtr> TowerList;
|
||||
|
||||
class World {
|
||||
class WorldListener {
|
||||
public:
|
||||
WorldListener(){}
|
||||
|
||||
virtual void OnArcherTowerShot(MobPtr target, ArcherTower* shooter){}
|
||||
|
||||
virtual void OnArrowShot(MobPtr target, Tower* shooter){}
|
||||
virtual void OnExplosion(utils::shape::Circle explosion, float centerDamage, Tower* shooter){}
|
||||
|
||||
virtual void OnMobDamage(MobPtr target, float damage){}
|
||||
};
|
||||
|
||||
class World : public WorldListener{
|
||||
protected:
|
||||
TowerTileColorPalette m_TowerPlacePalette;
|
||||
Color m_WalkablePalette;
|
||||
@@ -189,8 +201,14 @@ public:
|
||||
const TowerList& getTowers() const { return m_Towers; };
|
||||
TowerPtr getTowerById(TowerID tower);
|
||||
|
||||
// Archer Tower
|
||||
virtual void OnArrowShot(MobPtr target, Tower* shooter);
|
||||
// WorldListener
|
||||
|
||||
virtual void OnArcherTowerShot(MobPtr target, ArcherTower* shooter){}
|
||||
|
||||
virtual void OnArrowShot(MobPtr target, Tower* shooter){}
|
||||
virtual void OnExplosion(utils::shape::Circle explosion, float centerDamage, Tower* shooter){}
|
||||
|
||||
virtual void OnMobDamage(MobPtr target, float damage, Tower* source){}
|
||||
private:
|
||||
void moveMobs(std::uint64_t delta);
|
||||
void moveMob(MobPtr mob, std::uint64_t delta);
|
||||
|
||||
Reference in New Issue
Block a user