tanks can spawn and get rendered

This commit is contained in:
Vinzenz Schroeter 2024-04-07 13:02:49 +02:00
parent 151cad4cee
commit a3bd582b2e
20 changed files with 286 additions and 108 deletions

View file

@ -1,6 +1,7 @@
using System.Text.Json.Serialization;
using TanksServer.Models;
namespace TanksServer;
namespace TanksServer.Helpers;
[JsonSerializable(typeof(Player))]
internal partial class AppSerializerContext: JsonSerializerContext;
internal sealed partial class AppSerializerContext: JsonSerializerContext;

View file

@ -1,6 +1,4 @@
using TanksServer.Helpers;
namespace TanksServer;
namespace TanksServer.Helpers;
internal sealed class DisplayPixelBuffer(byte[] data)
{

View file

@ -10,7 +10,7 @@ internal abstract class EasyWebSocket
{
private readonly TaskCompletionSource _completionSource = new();
private readonly ILogger _logger;
protected readonly ILogger Logger;
private readonly WebSocket _socket;
private readonly Task _readLoop;
private readonly ArraySegment<byte> _buffer;
@ -19,7 +19,7 @@ internal abstract class EasyWebSocket
protected EasyWebSocket(WebSocket socket, ILogger logger, ArraySegment<byte> buffer)
{
_socket = socket;
_logger = logger;
Logger = logger;
_buffer = buffer;
_readLoop = ReadLoopAsync();
}
@ -46,7 +46,7 @@ internal abstract class EasyWebSocket
if (_socket.State != WebSocketState.Open)
await CloseAsync();
_logger.LogTrace("sending {} bytes of data", _buffer.Count);
Logger.LogTrace("sending {} bytes of data", _buffer.Count);
try
{
@ -54,7 +54,7 @@ internal abstract class EasyWebSocket
}
catch (WebSocketException wsEx)
{
_logger.LogDebug(wsEx, "send failed");
Logger.LogDebug(wsEx, "send failed");
}
}
@ -65,7 +65,7 @@ internal abstract class EasyWebSocket
{
if (Interlocked.Exchange(ref _closed, 1) == 1)
return;
_logger.LogDebug("closing socket");
Logger.LogDebug("closing socket");
await _socket.CloseAsync(status, description, CancellationToken.None);
await _readLoop;
await ClosingAsync();