|
1 | 1 | #include <TiltedOnlinePCH.h> |
2 | 2 |
|
3 | 3 | #include <OverlayRenderHandler.hpp> |
| 4 | +#include <DInputHook.hpp> |
4 | 5 |
|
5 | 6 | #include <Services/OverlayClient.h> |
6 | 7 | #include <Services/TransportService.h> |
@@ -44,6 +45,8 @@ bool OverlayClient::OnProcessMessageReceived(CefRefPtr<CefBrowser> browser, CefR |
44 | 45 | ProcessConnectMessage(eventArgs); |
45 | 46 | else if (eventName == "disconnect") |
46 | 47 | ProcessDisconnectMessage(); |
| 48 | + else if (eventName == "revealPlayers") |
| 49 | + ProcessRevealPlayersMessage(); |
47 | 50 | else if (eventName == "sendMessage") |
48 | 51 | ProcessChatMessage(eventArgs); |
49 | 52 | else if (eventName == "setTime") |
@@ -105,6 +108,12 @@ void OverlayClient::ProcessDisconnectMessage() |
105 | 108 | World::Get().GetRunner().Queue([]() { World::Get().GetTransport().Close(); }); |
106 | 109 | } |
107 | 110 |
|
| 111 | +void OverlayClient::ProcessRevealPlayersMessage() |
| 112 | +{ |
| 113 | + SetUIVisible(false); |
| 114 | + World::Get().GetMagicService().StartRevealingOtherPlayers(); |
| 115 | +} |
| 116 | + |
108 | 117 | void OverlayClient::ProcessChatMessage(CefRefPtr<CefListValue> aEventArgs) |
109 | 118 | { |
110 | 119 | std::string contents = aEventArgs->GetString(1).ToString(); |
@@ -140,3 +149,14 @@ void OverlayClient::ProcessToggleDebugUI() |
140 | 149 | { |
141 | 150 | World::Get().GetDebugService().m_showDebugStuff = !World::Get().GetDebugService().m_showDebugStuff; |
142 | 151 | } |
| 152 | + |
| 153 | +void OverlayClient::SetUIVisible(bool aVisible) noexcept |
| 154 | +{ |
| 155 | + auto pRenderer = GetOverlayRenderHandler(); |
| 156 | + if (!pRenderer) |
| 157 | + return; |
| 158 | + |
| 159 | + TiltedPhoques::DInputHook::Get().SetEnabled(aVisible); |
| 160 | + World::Get().GetOverlayService().SetActive(aVisible); |
| 161 | + pRenderer->SetCursorVisible(aVisible); |
| 162 | +} |
0 commit comments