feat: sync game
This commit is contained in:
@@ -111,11 +111,13 @@ public:
|
||||
|
||||
virtual bool OnDeath(World* world) { return true; }
|
||||
|
||||
MobID getMobID() const { return m_ID; }
|
||||
const TowerImmunities& getTowerImmunities() const { return getMobTowerImmunities(getType(), m_Level); }
|
||||
const EffectImmunities& getEffectImmunities() const { return getMobEffectImmunities(getType(), m_Level); }
|
||||
PlayerID getSender() const { return m_Sender; }
|
||||
MobLevel getLevel() const { return m_Level; }
|
||||
const MobStats* getStats() const { return getMobStats(getType(), m_Level); }
|
||||
void setHealth(float newHealth) { m_Health = newHealth; }
|
||||
float getHealth() const { return m_Health; }
|
||||
bool isDead() const { return m_Health <= 0; }
|
||||
bool isAlive() const { return m_Health > 0; }
|
||||
|
||||
@@ -20,6 +20,8 @@ public:
|
||||
virtual void HandlePacket(const protocol::UpgradeTowerPacket* packet);
|
||||
virtual void HandlePacket(const protocol::WorldAddTowerPacket* packet);
|
||||
virtual void HandlePacket(const protocol::RemoveTowerPacket* packet);
|
||||
virtual void HandlePacket(const protocol::UpdateMobStatesPacket* packet);
|
||||
virtual void HandlePacket(const protocol::UpdateCastleLifePacket* packet);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -13,8 +13,9 @@ class ServerGame : public game::Game, public game::GameListener {
|
||||
private:
|
||||
Server* m_Server;
|
||||
ServerWorld m_ServerWorld;
|
||||
utils::AutoTimer m_GoldMineTimer{ 1000, std::bind(&ServerGame::updateGoldMines, this) };
|
||||
utils::CooldownTimer m_EndGameCooldown{ 1000 * 10 };
|
||||
utils::AutoTimer m_GoldMineTimer;
|
||||
utils::AutoTimer m_MobStatesTimer;
|
||||
utils::CooldownTimer m_EndGameCooldown;
|
||||
public:
|
||||
ServerGame(Server* server);
|
||||
~ServerGame() {}
|
||||
@@ -32,6 +33,7 @@ public:
|
||||
virtual void OnGameClose();
|
||||
private:
|
||||
void balanceTeams();
|
||||
void updateMobStates();
|
||||
void updateGoldMines();
|
||||
void updatePlayerStats();
|
||||
};
|
||||
|
||||
@@ -23,6 +23,8 @@ public:
|
||||
|
||||
virtual void OnMobDie(game::Mob* mob);
|
||||
|
||||
virtual void OnMobCastleDamage(game::Mob* damager, game::TeamCastle* enemyCastle, float damage);
|
||||
|
||||
};
|
||||
|
||||
} // namespace server
|
||||
|
||||
Reference in New Issue
Block a user