Files
sbox-public/engine/Sandbox.Test/Scene/Helpers/TestConnection.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

47 lines
1007 B
C#

using System;
using System.Collections.Generic;
using Sandbox.Internal;
using Sandbox.Network;
namespace Sandbox.SceneTests;
#nullable enable
internal sealed class TestConnection : Connection
{
public record struct Message( InternalMessageType Type, object? Payload = null );
public List<Message> Messages { get; } = new();
internal override void InternalSend( ByteStream stream, NetFlags flags )
{
var reader = new ByteStream( stream.ToArray() );
var type = reader.Read<InternalMessageType>();
switch ( type )
{
case InternalMessageType.Chunk:
throw new NotImplementedException();
case InternalMessageType.Packed:
Messages.Add( new Message( type, GlobalGameNamespace.TypeLibrary.FromBytes<object>( ref reader ) ) );
break;
default:
Messages.Add( new Message( type ) );
break;
}
}
internal override void InternalRecv( NetworkSystem.MessageHandler handler )
{
}
internal override void InternalClose( int closeCode, string closeReason )
{
}
}