refactor: remove NetStack dependency
This commit is contained in:
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using ENet;
|
||||
using ENet;
|
||||
using NLog;
|
||||
|
||||
namespace Ragon.Core
|
||||
|
||||
@@ -348,7 +348,6 @@ namespace Ragon.Core
|
||||
_serializer.WriteUShort((ushort) entity.OwnerId);
|
||||
_serializer.WriteUShort((ushort) payload.Length);
|
||||
_serializer.WriteData(ref payload);
|
||||
_serializer.WriteUShort((ushort) state.Length);
|
||||
_serializer.WriteData(ref state);
|
||||
}
|
||||
|
||||
@@ -367,7 +366,6 @@ namespace Ragon.Core
|
||||
_serializer.WriteUShort((ushort) entity.OwnerId);
|
||||
_serializer.WriteUShort((ushort) payload.Length);
|
||||
_serializer.WriteData(ref payload);
|
||||
_serializer.WriteUShort((ushort) state.Length);
|
||||
_serializer.WriteData(ref state);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NetStack.Serialization;
|
||||
using NLog;
|
||||
using Ragon.Common;
|
||||
|
||||
@@ -11,7 +9,6 @@ public class Lobby : ILobby
|
||||
{
|
||||
private readonly ILogger _logger = LogManager.GetCurrentClassLogger();
|
||||
private readonly RagonSerializer _serializer;
|
||||
private readonly BitBuffer _buffer;
|
||||
private readonly RoomManager _roomManager;
|
||||
private readonly AuthorizationManager _authorizationManager;
|
||||
private readonly IGameThread _gameThread;
|
||||
@@ -22,7 +19,6 @@ public class Lobby : ILobby
|
||||
{
|
||||
_roomManager = manager;
|
||||
_gameThread = gameThread;
|
||||
_buffer = new BitBuffer();
|
||||
_serializer = new RagonSerializer();
|
||||
_authorizationManager = new AuthorizationManager(provider, gameThread, this, _serializer);
|
||||
}
|
||||
@@ -53,7 +49,6 @@ public class Lobby : ILobby
|
||||
case RagonOperation.JOIN_ROOM:
|
||||
{
|
||||
var roomId = _serializer.ReadString();
|
||||
roomId = _serializer.ReadString();
|
||||
var exists = _roomManager.Rooms.Any(r => r.Id == roomId);
|
||||
if (!exists)
|
||||
{
|
||||
@@ -90,13 +85,9 @@ public class Lobby : ILobby
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var propertiesPayload = _serializer.ReadData(_serializer.Size);
|
||||
_buffer.Clear();
|
||||
_buffer.FromSpan(ref propertiesPayload, propertiesPayload.Length);
|
||||
|
||||
var roomProperties = new RagonRoomParameters();
|
||||
roomProperties.Deserialize(_buffer);
|
||||
roomProperties.Deserialize(_serializer);
|
||||
|
||||
if (_roomManager.RoomsBySocket.ContainsKey(peerId))
|
||||
_roomManager.Left(player, Array.Empty<byte>());
|
||||
@@ -108,12 +99,7 @@ public class Lobby : ILobby
|
||||
{
|
||||
var roomId = Guid.NewGuid().ToString();
|
||||
var roomProperties = new RagonRoomParameters();
|
||||
var propertiesPayload = _serializer.ReadData(_serializer.Size);
|
||||
|
||||
_buffer.Clear();
|
||||
_buffer.FromSpan(ref propertiesPayload, propertiesPayload.Length);
|
||||
|
||||
roomProperties.Deserialize(_buffer);
|
||||
roomProperties.Deserialize(_serializer);
|
||||
|
||||
if (_roomManager.RoomsBySocket.ContainsKey(peerId))
|
||||
_roomManager.Left(player, Array.Empty<byte>());
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using NetStack.Serialization;
|
||||
using NLog;
|
||||
using Ragon.Common;
|
||||
|
||||
@@ -15,7 +13,6 @@ namespace Ragon.Core
|
||||
|
||||
private Dictionary<ushort, SubscribeDelegate> _globalEvents = new();
|
||||
private Dictionary<int, Dictionary<ushort, SubscribeEntityDelegate>> _entityEvents = new();
|
||||
private readonly BitBuffer _buffer = new();
|
||||
private readonly RagonSerializer _serializer = new();
|
||||
|
||||
protected IGameRoom GameRoom { get; private set; } = null!;
|
||||
@@ -54,9 +51,9 @@ namespace Ragon.Core
|
||||
return;
|
||||
}
|
||||
|
||||
_buffer.Clear();
|
||||
_buffer.FromSpan(ref raw, raw.Length);
|
||||
data.Deserialize(_buffer);
|
||||
_serializer.Clear();
|
||||
_serializer.FromSpan(ref raw);
|
||||
data.Deserialize(_serializer);
|
||||
action.Invoke(player, data);
|
||||
});
|
||||
}
|
||||
@@ -91,9 +88,9 @@ namespace Ragon.Core
|
||||
return;
|
||||
}
|
||||
|
||||
_buffer.Clear();
|
||||
_buffer.FromSpan(ref raw, raw.Length);
|
||||
data.Deserialize(_buffer);
|
||||
_serializer.Clear();
|
||||
_serializer.FromSpan(ref raw);
|
||||
data.Deserialize(_serializer);
|
||||
action.Invoke(player, ent, data);
|
||||
});
|
||||
|
||||
@@ -111,9 +108,9 @@ namespace Ragon.Core
|
||||
return;
|
||||
}
|
||||
|
||||
_buffer.Clear();
|
||||
_buffer.FromSpan(ref raw, raw.Length);
|
||||
data.Deserialize(_buffer);
|
||||
_serializer.Clear();
|
||||
_serializer.FromSpan(ref raw);
|
||||
data.Deserialize(_serializer);
|
||||
action.Invoke(player, ent, data);
|
||||
});
|
||||
}
|
||||
@@ -177,12 +174,8 @@ namespace Ragon.Core
|
||||
_serializer.Clear();
|
||||
_serializer.WriteOperation(RagonOperation.REPLICATE_EVENT);
|
||||
|
||||
_buffer.Clear();
|
||||
payload.Serialize(_buffer);
|
||||
payload.Serialize(_serializer);
|
||||
|
||||
var payloadData = _serializer.GetWritableData(_buffer.Length);
|
||||
_buffer.ToSpan(ref payloadData);
|
||||
|
||||
var sendData = _serializer.ToArray();
|
||||
GameRoom.Send(player.PeerId, sendData);
|
||||
}
|
||||
@@ -192,11 +185,7 @@ namespace Ragon.Core
|
||||
_serializer.Clear();
|
||||
_serializer.WriteOperation(RagonOperation.REPLICATE_EVENT);
|
||||
|
||||
_buffer.Clear();
|
||||
payload.Serialize(_buffer);
|
||||
|
||||
var payloadData = _serializer.GetWritableData(_buffer.Length);
|
||||
_buffer.ToSpan(ref payloadData);
|
||||
payload.Serialize(_serializer);
|
||||
|
||||
var sendData = _serializer.ToArray();
|
||||
GameRoom.Broadcast(sendData, DeliveryType.Reliable);
|
||||
@@ -208,11 +197,7 @@ namespace Ragon.Core
|
||||
_serializer.WriteOperation(RagonOperation.REPLICATE_ENTITY_EVENT);
|
||||
_serializer.WriteInt(entity.EntityId);
|
||||
|
||||
_buffer.Clear();
|
||||
payload.Serialize(_buffer);
|
||||
|
||||
var payloadData = _serializer.GetWritableData(_buffer.Length);
|
||||
_buffer.ToSpan(ref payloadData);
|
||||
payload.Serialize(_serializer);
|
||||
|
||||
var sendData = _serializer.ToArray();
|
||||
GameRoom.Send(player.PeerId, sendData, DeliveryType.Reliable);
|
||||
@@ -224,11 +209,7 @@ namespace Ragon.Core
|
||||
_serializer.WriteOperation(RagonOperation.REPLICATE_ENTITY_EVENT);
|
||||
_serializer.WriteInt(entity.EntityId);
|
||||
|
||||
_buffer.Clear();
|
||||
payload.Serialize(_buffer);
|
||||
|
||||
var payloadData = _serializer.GetWritableData(_buffer.Length);
|
||||
_buffer.ToSpan(ref payloadData);
|
||||
payload.Serialize(_serializer);
|
||||
|
||||
var sendData = _serializer.ToArray();
|
||||
GameRoom.Broadcast(sendData);
|
||||
|
||||
Reference in New Issue
Block a user