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)]; }
|
const Team& GetTeam(TeamColor team) const { return m_Teams[static_cast<std::uint8_t>(team)]; }
|
||||||
|
|
||||||
GameState GetGameState() const { return m_GameState; }
|
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; }
|
const World* GetWorld() const { return m_World; }
|
||||||
World* GetWorld() { return m_World; }
|
World* GetWorld() { return m_World; }
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ public:
|
|||||||
render::Renderer* GetRenderer() const { return m_Renderer; }
|
render::Renderer* GetRenderer() const { return m_Renderer; }
|
||||||
WorldClient& GetWorldClient() { return m_WorldClient; }
|
WorldClient& GetWorldClient() { return m_WorldClient; }
|
||||||
|
|
||||||
|
void SetGameState(game::GameState gameState) override;
|
||||||
|
|
||||||
virtual void HandlePacket(const protocol::ConnexionInfoPacket* packet) override;
|
virtual void HandlePacket(const protocol::ConnexionInfoPacket* packet) override;
|
||||||
virtual void HandlePacket(const protocol::PlayerJoinPacket* packet) override;
|
virtual void HandlePacket(const protocol::PlayerJoinPacket* packet) override;
|
||||||
virtual void HandlePacket(const protocol::PlayerLeavePacket* packet) override;
|
virtual void HandlePacket(const protocol::PlayerLeavePacket* packet) override;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#include "game/client/ClientGame.h"
|
#include "game/client/ClientGame.h"
|
||||||
#include "protocol/PacketDispatcher.h"
|
#include "protocol/PacketDispatcher.h"
|
||||||
#include "game/client/Client.h"
|
#include "game/client/Client.h"
|
||||||
|
#include "misc/DiscordRPC.h"
|
||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
namespace client {
|
namespace client {
|
||||||
@@ -97,7 +98,7 @@ void ClientGame::HandlePacket(const protocol::UpdateExpPacket* packet) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ClientGame::HandlePacket(const protocol::DisconnectPacket* packet) {
|
void ClientGame::HandlePacket(const protocol::DisconnectPacket* packet) {
|
||||||
m_GameState = game::GameState::Disconnected;
|
SetGameState(game::GameState::Disconnected);
|
||||||
m_Renderer->SetBackgroundColor({ 0, 0, 0 });
|
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 client
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
|||||||
Reference in New Issue
Block a user