#pragma once #include "OverlayClient.hpp" struct TransportService; namespace TiltedPhoques { struct OverlayRenderHandler; } /** * @brief Renders the UI overlay. */ struct OverlayClient : TiltedPhoques::OverlayClient { OverlayClient(TransportService& aTransport, TiltedPhoques::OverlayRenderHandler* apHandler); virtual ~OverlayClient() noexcept; bool OnProcessMessageReceived(CefRefPtr browser, CefRefPtr frame, CefProcessId source_process, CefRefPtr message) override; TP_NOCOPYMOVE(OverlayClient); private: void ProcessConnectMessage(CefRefPtr aEventArgs); void ProcessDisconnectMessage(); void ProcessRevealPlayersMessage(); void ProcessChatMessage(CefRefPtr aEventArgs); void ProcessSetTimeCommand(CefRefPtr aEventArgs); void ProcessTeleportMessage(CefRefPtr aEventArgs); void ProcessToggleDebugUI(); void SetUIVisible(bool aVisible) noexcept; TransportService& m_transport; };