update presence
This commit is contained in:
@@ -52,7 +52,7 @@ public:
|
||||
const Team& GetTeam(TeamColor team) const { return m_Teams[static_cast<std::uint8_t>(team)]; }
|
||||
|
||||
GameState GetGameState() const { return m_GameState; }
|
||||
void SetGameState(GameState gameState) { m_GameState = gameState; };
|
||||
virtual void SetGameState(GameState gameState) { m_GameState = gameState; };
|
||||
|
||||
const World* GetWorld() const { return m_World; }
|
||||
World* GetWorld() { return m_World; }
|
||||
|
||||
@@ -39,6 +39,8 @@ public:
|
||||
render::Renderer* GetRenderer() const { return m_Renderer; }
|
||||
WorldClient& GetWorldClient() { return m_WorldClient; }
|
||||
|
||||
void SetGameState(game::GameState gameState) override;
|
||||
|
||||
virtual void HandlePacket(const protocol::ConnexionInfoPacket* packet) override;
|
||||
virtual void HandlePacket(const protocol::PlayerJoinPacket* packet) override;
|
||||
virtual void HandlePacket(const protocol::PlayerLeavePacket* packet) override;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "game/client/ClientGame.h"
|
||||
#include "protocol/PacketDispatcher.h"
|
||||
#include "game/client/Client.h"
|
||||
#include "misc/DiscordRPC.h"
|
||||
|
||||
namespace td {
|
||||
namespace client {
|
||||
@@ -97,7 +98,7 @@ void ClientGame::HandlePacket(const protocol::UpdateExpPacket* packet) {
|
||||
}
|
||||
|
||||
void ClientGame::HandlePacket(const protocol::DisconnectPacket* packet) {
|
||||
m_GameState = game::GameState::Disconnected;
|
||||
SetGameState(game::GameState::Disconnected);
|
||||
m_Renderer->SetBackgroundColor({ 0, 0, 0 });
|
||||
}
|
||||
|
||||
@@ -114,5 +115,30 @@ void ClientGame::RenderWorld() {
|
||||
}
|
||||
}
|
||||
|
||||
void ClientGame::SetGameState(game::GameState newState) {
|
||||
game::Game::SetGameState(newState);
|
||||
|
||||
// Update Discord presence
|
||||
switch (newState) {
|
||||
|
||||
case game::GameState::Lobby:
|
||||
utils::UpdateDiscordPresence("In Lobby", "Normal Mode", true);
|
||||
break;
|
||||
|
||||
case game::GameState::Game:
|
||||
utils::UpdateDiscordPresence("In Game", "Normal Mode", true);
|
||||
break;
|
||||
|
||||
case game::GameState::Closed:
|
||||
case game::GameState::Disconnected:
|
||||
utils::UpdateDiscordPresence("In Main Menu", "Normal Mode", true);
|
||||
break;
|
||||
|
||||
case game::GameState::EndGame:
|
||||
utils::UpdateDiscordPresence("In End Game", "Normal Mode", true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace client
|
||||
} // namespace td
|
||||
|
||||
Reference in New Issue
Block a user