Files
RobustToolbox/Robust.Shared/Player/CommonSession.cs
Leon Friedrich 75626a86a3 Add dummy sessions for integration tests (#5202)
* Add dummy sessions

* if FULL_RELEASE
2024-06-05 16:50:06 +10:00

82 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using Robust.Shared.Enums;
using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.Network;
using Robust.Shared.ViewVariables;
namespace Robust.Shared.Player;
internal sealed class CommonSession : ICommonSessionInternal
{
[ViewVariables]
public EntityUid? AttachedEntity { get; set; }
[ViewVariables]
public NetUserId UserId { get; }
[ViewVariables]
public string Name { get; set; } = "<Unknown>";
[ViewVariables]
public short Ping { get; set; }
[ViewVariables]
public DateTime ConnectedTime { get; set; }
[ViewVariables]
public SessionState State { get; } = new();
[ViewVariables]
public SessionStatus Status { get; set; } = SessionStatus.Connecting;
[ViewVariables]
public SessionData Data { get; }
public bool ClientSide { get; set; }
[ViewVariables]
public INetChannel Channel { get; set; } = default!;
[ViewVariables]
public HashSet<EntityUid> ViewSubscriptions { get; } = new();
[ViewVariables]
public LoginType AuthType => Channel?.AuthType ?? default;
public override string ToString() => Name;
public CommonSession(NetUserId user, string name, SessionData data)
{
UserId = user;
Name = name;
Data = data;
}
public void SetStatus(SessionStatus status)
{
Status = status;
}
public void SetAttachedEntity(EntityUid? uid)
{
AttachedEntity = uid;
}
public void SetPing(short ping)
{
Ping = ping;
}
public void SetName(string name)
{
Name = name;
}
public void SetChannel(INetChannel channel)
{
Channel = channel;
}
}