31 lines
759 B
C++
31 lines
759 B
C++
#pragma once
|
|
|
|
#include "td/game/World.h"
|
|
|
|
namespace td {
|
|
namespace server {
|
|
|
|
class Server;
|
|
class ServerGame;
|
|
|
|
class ServerWorld : public game::World {
|
|
private:
|
|
game::MobID m_CurrentMobID;
|
|
game::TowerID m_CurrentTowerID;
|
|
Server* m_Server;
|
|
public:
|
|
static constexpr float MobSpawnBorder = 0.01f;
|
|
|
|
ServerWorld(Server* server, ServerGame* game);
|
|
|
|
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 OnMobDie(game::Mob* mob) override;
|
|
virtual void OnMobCastleDamage(game::Mob* damager, game::TeamCastle* enemyCastle, float damage) override;
|
|
|
|
};
|
|
|
|
} // namespace server
|
|
} // namespace td
|