Custom names and time in chat
All checks were successful
Build Mau & Deploy Mau / build (push) Successful in 1m13s
Build Mau & Deploy Mau / deploy (push) Has been skipped

This commit is contained in:
DTieman
2024-04-20 23:43:07 +02:00
parent b97eb309c0
commit 1e51defad5
5 changed files with 52 additions and 20 deletions

View File

@@ -13,10 +13,24 @@ public class Chat
_room = room;
}
public void SendChatMessage(string connectionId, string message)
public void SendChatMessage(ConnectionInstance connection, string message)
{
var chatMessage = new ChatOutput(connectionId, message);
var chatMessage = new ChatMessage(DateTime.UtcNow, connection.Name, message);
var formattedMessage = new MessageDTO("CHAT", JsonSerializer.Serialize(chatMessage));
WebsocketManager.BroadcastAsync(_room.GetWebsockets(), JsonSerializer.Serialize(formattedMessage));
}
}
public class ChatMessage
{
public DateTime Time { get; set; }
public string Sender { get; set; }
public string Message { get; set; }
public ChatMessage(DateTime dateTime, string sender, string message)
{
Time = dateTime;
Sender = sender;
Message = message;
}
}

View File

@@ -20,9 +20,9 @@ public class Room
_roomId = roomId;
}
public async Task InstantiateConnection(WebSocket socket)
public async Task InstantiateConnection(WebSocket socket, string name)
{
var connection = AddConnection(socket);
var connection = AddConnection(socket, name);
if (IsEmpty()) _host = connection;
_game.AddPlayerToGame(connection);
await HandleConnection(connection);
@@ -45,7 +45,7 @@ public class Room
}
case "CHAT":
{
_chat.SendChatMessage(connection.ConnectionId, message.Payload);
_chat.SendChatMessage(connection, message.Payload);
break;
}
}
@@ -57,10 +57,10 @@ public class Room
HandleDisconnect(connection.ConnectionId);
}
private ConnectionInstance AddConnection(WebSocket socket)
private ConnectionInstance AddConnection(WebSocket socket, string name)
{
var connectionId = Guid.NewGuid().ToString();
var connection = new ConnectionInstance(connectionId, socket);
var connection = new ConnectionInstance(name, connectionId, socket);
_connections.Add(connection);
return connection;
}