60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
#nullable enable
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Demo2.Domain
|
|
{
|
|
[Serializable]
|
|
public sealed class Demo2NetworkEnvelope
|
|
{
|
|
public string Type = string.Empty;
|
|
public long Sequence;
|
|
public string PayloadJson = string.Empty;
|
|
}
|
|
|
|
[Serializable]
|
|
public sealed class Demo2Handshake
|
|
{
|
|
public string GameVersion = Demo2Protocol.GameVersion;
|
|
public int SimulationVersion = Demo2Protocol.SimulationVersion;
|
|
public string PlayerId = string.Empty;
|
|
public string ReconnectToken = string.Empty;
|
|
public List<Demo2ModManifest> Mods = new();
|
|
}
|
|
|
|
[Serializable]
|
|
public sealed class Demo2HandshakeResult
|
|
{
|
|
public bool Accepted;
|
|
public string ErrorCode = string.Empty;
|
|
public string Difference = string.Empty;
|
|
public string PlayerId = string.Empty;
|
|
public string ReconnectToken = string.Empty;
|
|
}
|
|
|
|
[Serializable]
|
|
public sealed class Demo2HashBroadcast
|
|
{
|
|
public long Tick;
|
|
public ulong StateHash;
|
|
}
|
|
|
|
[Serializable]
|
|
public sealed class Demo2LobbyPlayer
|
|
{
|
|
public string PlayerId = string.Empty;
|
|
public string DisplayName = string.Empty;
|
|
public bool Ready;
|
|
public bool Connected;
|
|
}
|
|
|
|
[Serializable]
|
|
public sealed class Demo2LobbyState
|
|
{
|
|
public bool IsHost;
|
|
public Demo2TransportMode Transport;
|
|
public List<Demo2LobbyPlayer> Players = new();
|
|
}
|
|
}
|