This commit is contained in:
2023-10-08 21:13:31 +03:00
parent 64842886d7
commit c214b6ca7f
45 changed files with 116 additions and 113 deletions
@@ -27,9 +27,9 @@ internal class AuthorizeFailedHandler: IHandler
_listenerList = list;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var message = buffer.ReadString();
var message = reader.ReadString();
_listenerList.OnAuthorizationFailed(message);
}
}
@@ -19,7 +19,7 @@ using Ragon.Protocol;
namespace Ragon.Client;
internal class AuthorizeSuccessHandler: IHandler
internal class AuthorizeSuccessHandler: IHandler
{
private readonly RagonListenerList _listenerList;
private readonly RagonClient _client;
@@ -32,11 +32,11 @@ internal class AuthorizeSuccessHandler: IHandler
_listenerList = listenerList;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var playerId = buffer.ReadString();
var playerName = buffer.ReadString();
var playerPayload = buffer.ReadString();
var playerId = reader.ReadString();
var playerName = reader.ReadString();
var playerPayload = reader.ReadString();
_client.SetStatus(RagonStatus.LOBBY);
_listenerList.OnAuthorizationSuccess(playerId, playerName, playerPayload);
@@ -18,7 +18,7 @@ using Ragon.Protocol;
namespace Ragon.Client;
internal class EntityCreateHandler : IHandler
internal class EntityCreateHandler : IHandler
{
private readonly RagonClient _client;
private readonly RagonPlayerCache _playerCache;
@@ -37,15 +37,15 @@ internal class EntityCreateHandler : IHandler
_entityListener = entityListener;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var attachId = buffer.ReadUShort();
var entityType = buffer.ReadUShort();
var entityId = buffer.ReadUShort();
var ownerId = buffer.ReadUShort();
var attachId = reader.ReadUShort();
var entityType = reader.ReadUShort();
var entityId = reader.ReadUShort();
var ownerId = reader.ReadUShort();
var player = _playerCache.GetPlayerByPeer(ownerId);
var payload = new RagonPayload(buffer.Capacity);
payload.Read(buffer);
var payload = new RagonPayload(reader.Capacity);
payload.Read(reader);
if (player == null)
{
@@ -31,13 +31,13 @@ internal class EntityEventHandler : IHandler
_playerCache = playerCache;
_entityCache = entityCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var eventCode = buffer.ReadUShort();
var peerId = buffer.ReadUShort();
var executionMode = (RagonReplicationMode)buffer.ReadByte();
var entityId = buffer.ReadUShort();
var eventCode = reader.ReadUShort();
var peerId = reader.ReadUShort();
var executionMode = (RagonReplicationMode)reader.ReadByte();
var entityId = reader.ReadUShort();
var player = _playerCache.GetPlayerByPeer(peerId);
if (player == null)
@@ -49,6 +49,6 @@ internal class EntityEventHandler : IHandler
if (player.IsLocal && executionMode == RagonReplicationMode.LocalAndServer)
return;
_entityCache.OnEvent(player, entityId, eventCode, buffer);
_entityCache.OnEvent(player, entityId, eventCode, reader);
}
}
@@ -35,18 +35,18 @@ internal class EntityOwnershipHandler: IHandler
_entityCache = entityCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var newOwnerId = buffer.ReadUShort();
var entities = buffer.ReadUShort();
var newOwnerId = reader.ReadUShort();
var entities = reader.ReadUShort();
var player = _playerCache.GetPlayerByPeer(newOwnerId);
for (var i = 0; i < entities; i++)
{
var entityId = buffer.ReadUShort();
var entityId = reader.ReadUShort();
_entityCache.OnOwnershipChanged(player, entityId);
RagonLog.Trace("Entity changed owner: " + entityId);
}
}
}
}
@@ -19,7 +19,7 @@ using Ragon.Protocol;
namespace Ragon.Client;
internal class EntityRemoveHandler: IHandler
internal class EntityRemoveHandler: IHandler
{
private readonly RagonEntityCache _entityCache;
@@ -28,11 +28,11 @@ internal class EntityRemoveHandler: IHandler
_entityCache = entityCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var entityId = buffer.ReadUShort();
var payload = new RagonPayload(buffer.Capacity);
payload.Read(buffer);
var entityId = reader.ReadUShort();
var payload = new RagonPayload(reader.Capacity);
payload.Read(reader);
_entityCache.OnDestroy(entityId, payload);
}
@@ -27,13 +27,13 @@ internal class StateEntityHandler: IHandler
_entityCache = entityCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var entitiesCount = buffer.ReadUShort();
var entitiesCount = reader.ReadUShort();
for (var i = 0; i < entitiesCount; i++)
{
var entityId = buffer.ReadUShort();
_entityCache.OnState(entityId, buffer);
var entityId = reader.ReadUShort();
_entityCache.OnState(entityId, reader);
}
}
}
+1 -1
View File
@@ -21,5 +21,5 @@ namespace Ragon.Client;
public interface IHandler
{
public void Handle(RagonBuffer buffer);
public void Handle(RagonBuffer reader);
}
@@ -28,9 +28,9 @@ internal class JoinFailedHandler: IHandler
_listenerList = listenerList;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var message = buffer.ReadString();
var message = reader.ReadString();
_listenerList.OnFailed(message);
}
}
@@ -57,14 +57,14 @@ internal class JoinSuccessHandler : IHandler
_playerCache = playerCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var roomId = buffer.ReadString();
var localId = buffer.ReadString();
var ownerId = buffer.ReadString();
var min = buffer.ReadUShort();
var max = buffer.ReadUShort();
var sceneName = buffer.ReadString();
var roomId = reader.ReadString();
var localId = reader.ReadString();
var ownerId = reader.ReadString();
var min = reader.ReadUShort();
var max = reader.ReadUShort();
var sceneName = reader.ReadString();
var scene = new RagonScene(_client, _playerCache, _entityCache, sceneName);
var roomInfo = new RagonRoomInformation(roomId, localId, ownerId, min, max);
@@ -19,7 +19,7 @@ using Ragon.Protocol;
namespace Ragon.Client;
internal class LeaveRoomHandler : IHandler
internal class LeaveRoomHandler : IHandler
{
private readonly RagonClient _client;
private readonly RagonListenerList _listenerList;
@@ -35,7 +35,7 @@ internal class LeaveRoomHandler : IHandler
_entityCache = entityCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
_listenerList.OnLeft();
_entityCache.Cleanup();
@@ -32,9 +32,9 @@ internal class SceneLoadHandler: IHandler
_listenerList = listenerList;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var sceneName = buffer.ReadString();
var sceneName = reader.ReadString();
var room = _client.Room;
room.Cleanup();
@@ -35,9 +35,9 @@ internal class OwnershipRoomHandler: IHandler
_entityCache = entityCache;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var newOwnerId = buffer.ReadUShort();
var newOwnerId = reader.ReadUShort();
var player = _playerCache.GetPlayerByPeer(newOwnerId);
_playerCache.OnOwnershipChanged(newOwnerId);
@@ -33,11 +33,11 @@ internal class PlayerJoinHandler : IHandler
_listenerList = listenerList;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var playerPeerId = buffer.ReadUShort();
var playerId = buffer.ReadString();
var playerName = buffer.ReadString();
var playerPeerId = reader.ReadUShort();
var playerId = reader.ReadString();
var playerName = reader.ReadString();
_playerCache.AddPlayer(playerPeerId, playerId, playerName);
@@ -36,20 +36,20 @@ internal class PlayerLeftHandler : IHandler
_listenerList = listenerList;
}
public void Handle(RagonBuffer buffer)
public void Handle(RagonBuffer reader)
{
var playerId = buffer.ReadString();
var playerId = reader.ReadString();
var player = _playerCache.GetPlayerById(playerId);
if (player != null)
{
_playerCache.RemovePlayer(playerId);
_listenerList.OnPlayerLeft(player);
var entities = buffer.ReadUShort();
var entities = reader.ReadUShort();
var toDeleteIds = new ushort[entities];
for (var i = 0; i < entities; i++)
{
var entityId = buffer.ReadUShort();
var entityId = reader.ReadUShort();
toDeleteIds[i] = entityId;
}
@@ -0,0 +1,11 @@
using Ragon.Protocol;
namespace Ragon.Client;
public class RoomDataHandler: IHandler
{
public void Handle(RagonBuffer reader)
{
var rawData = reader.RawData;
}
}
@@ -18,12 +18,12 @@ using Ragon.Protocol;
namespace Ragon.Client;
public class EventRoomHandler: IHandler
public class RoomEventHandler: IHandler
{
private readonly RagonClient _client;
private readonly RagonPlayerCache _playerCache;
public EventRoomHandler(
public RoomEventHandler(
RagonClient client,
RagonPlayerCache playerCache
)