yikes,
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
using Vanadium.Classes.WebSocket;
|
||||
using Vanadium.Controllers;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Vanadium.Hubs
|
||||
{
|
||||
public static class MatchHub
|
||||
{
|
||||
public static async Task BroadcastMatchUpdate(long matchId, object update)
|
||||
{
|
||||
try
|
||||
{
|
||||
var message = JsonConvert.SerializeObject(new WebsocketEvents.Response
|
||||
{
|
||||
Id = "MatchUpdate",
|
||||
Msg = update
|
||||
});
|
||||
|
||||
await NotificationsController.SendToAll(message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[MatchHub] Error broadcasting match update: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task BroadcastPlayerHeartbeat(long playerId, object heartbeatData)
|
||||
{
|
||||
try
|
||||
{
|
||||
var message = JsonConvert.SerializeObject(new WebsocketEvents.Response
|
||||
{
|
||||
Id = "PresenceUpdate",
|
||||
Msg = heartbeatData
|
||||
});
|
||||
|
||||
await NotificationsController.SendToPlayer(playerId, message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[MatchHub] Error broadcasting heartbeat: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task NotifyPlayerDisconnected(long matchId, long playerId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var message = JsonConvert.SerializeObject(new
|
||||
{
|
||||
type = "playerDisconnected",
|
||||
playerId = playerId,
|
||||
matchId = matchId
|
||||
});
|
||||
|
||||
await NotificationsController.SendToAll(message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[MatchHub] Error notifying player disconnect: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user