1
0
Fork 0
Nibriboard/Nibriboard/RippleSpace/ClientState.cs

50 lines
1.0 KiB
C#

using System;
using SBRL.Utilities;
using Newtonsoft.Json;
using SBRL.Utilities.Solutions;
namespace Nibriboard.RippleSpace
{
/// <summary>
/// Represents a client's state at a particular point in time.
/// </summary>
public class ClientState
{
/// <summary>
/// The id of the client.
/// </summary>
public int Id;
/// <summary>
/// The date and time at which this client state snapshot was captured.
/// </summary>
public DateTime TimeCaptured = DateTime.Now;
/// <summary>
/// The name the client chose to identify themselves with.
/// </summary>
public string Name;
/// <summary>
/// The colour associated with the client.
/// </summary>
[JsonConverter(typeof(ToStringJsonConverter))]
public ColourHSL Colour;
/// <summary>
/// The size and position of the client's viewport.
/// </summary>
public Rectangle Viewport = Rectangle.Zero;
/// <summary>
/// The absolute position of the client's cursor.
/// </summary>
public Vector2 CursorPosition = Vector2.Zero;
public ClientState()
{
}
}
}