feat: basic arrow shoot event

This commit is contained in:
2021-09-29 14:48:25 +02:00
parent 9cf3916951
commit ef76437670
8 changed files with 25 additions and 14 deletions

View File

@@ -162,8 +162,6 @@ public:
virtual TowerType getType() const { return TowerType::Archer; }
virtual void tick(std::uint64_t delta, World* world);
private:
void shootArrow(MobPtr target);
};
class IceTower : public LittleTower {

View File

@@ -182,6 +182,9 @@ public:
const Team& getTeam(TeamColor team) const;
const TowerList& getTowers() const { return m_Towers; };
// Archer Tower
virtual void OnArrowShot(MobPtr target, Tower* shooter);
private:
void moveMobs(std::uint64_t delta);
void cleanDeadMobs();

View File

@@ -17,6 +17,8 @@ public:
virtual void HandlePacket(protocol::WorldBeginDataPacket* packet);
virtual void HandlePacket(protocol::WorldDataPacket* packet);
virtual void HandlePacket(protocol::SpawnMobPacket* packet);
virtual void OnArrowShot(game::MobPtr target, game::Tower* shooter) override;
};
} // namespace client

View File

@@ -18,6 +18,8 @@ public:
void spawnMobs(game::MobType type, std::uint8_t level, game::PlayerID sender, std::uint8_t count);
game::TowerPtr placeTowerAt(game::TowerType type, std::int32_t x, std::int32_t y, game::PlayerID builder);
virtual void OnArrowShot(game::MobPtr target, game::Tower* shooter) override;
};
} // namespace server