95 lines
2.6 KiB
C#
95 lines
2.6 KiB
C#
using System;
|
|
using System.IO;
|
|
using Lidgren.Network;
|
|
using SS14.Shared.Interfaces.Network;
|
|
using SS14.Shared.Interfaces.Serialization;
|
|
using SS14.Shared.IoC;
|
|
using SS14.Shared.Map;
|
|
using SS14.Shared.Network;
|
|
|
|
namespace Content.Shared
|
|
{
|
|
public abstract class SharedGameTicker
|
|
{
|
|
protected class MsgTickerJoinLobby : NetMessage
|
|
{
|
|
#region REQUIRED
|
|
|
|
public const MsgGroups GROUP = MsgGroups.Command;
|
|
public const string NAME = nameof(MsgTickerJoinLobby);
|
|
public MsgTickerJoinLobby(INetChannel channel) : base(NAME, GROUP) { }
|
|
|
|
#endregion
|
|
|
|
public override void ReadFromBuffer(NetIncomingMessage buffer)
|
|
{
|
|
}
|
|
|
|
public override void WriteToBuffer(NetOutgoingMessage buffer)
|
|
{
|
|
}
|
|
}
|
|
|
|
protected class MsgTickerJoinGame : NetMessage
|
|
{
|
|
#region REQUIRED
|
|
|
|
public const MsgGroups GROUP = MsgGroups.Command;
|
|
public const string NAME = nameof(MsgTickerJoinGame);
|
|
public MsgTickerJoinGame(INetChannel channel) : base(NAME, GROUP) { }
|
|
|
|
#endregion
|
|
|
|
public override void ReadFromBuffer(NetIncomingMessage buffer)
|
|
{
|
|
}
|
|
|
|
public override void WriteToBuffer(NetOutgoingMessage buffer)
|
|
{
|
|
}
|
|
}
|
|
|
|
protected class MsgTickerLobbyStatus : NetMessage
|
|
{
|
|
#region REQUIRED
|
|
|
|
public const MsgGroups GROUP = MsgGroups.Command;
|
|
public const string NAME = nameof(MsgTickerLobbyStatus);
|
|
public MsgTickerLobbyStatus(INetChannel channel) : base(NAME, GROUP) { }
|
|
|
|
#endregion
|
|
|
|
public bool IsRoundStarted { get; set; }
|
|
public bool YouAreReady { get; set; }
|
|
// UTC.
|
|
public DateTime StartTime { get; set; }
|
|
|
|
public override void ReadFromBuffer(NetIncomingMessage buffer)
|
|
{
|
|
IsRoundStarted = buffer.ReadBoolean();
|
|
|
|
if (IsRoundStarted)
|
|
{
|
|
return;
|
|
}
|
|
|
|
YouAreReady = buffer.ReadBoolean();
|
|
StartTime = new DateTime(buffer.ReadInt64(), DateTimeKind.Utc);
|
|
}
|
|
|
|
public override void WriteToBuffer(NetOutgoingMessage buffer)
|
|
{
|
|
buffer.Write(IsRoundStarted);
|
|
|
|
if (IsRoundStarted)
|
|
{
|
|
return;
|
|
}
|
|
|
|
buffer.Write(YouAreReady);
|
|
buffer.Write(StartTime.Ticks);
|
|
}
|
|
}
|
|
}
|
|
}
|