2022-08-14 12:54:49 -07:00
|
|
|
using System.Diagnostics.CodeAnalysis;
|
2022-08-07 08:00:42 +02:00
|
|
|
using System.Threading;
|
2020-06-26 03:46:08 +02:00
|
|
|
using System.Threading.Tasks;
|
2019-12-22 13:47:34 +01:00
|
|
|
using Content.Shared.Preferences;
|
2020-09-29 14:26:00 +02:00
|
|
|
using Robust.Shared.Network;
|
2023-10-28 09:59:53 +11:00
|
|
|
using Robust.Shared.Player;
|
2019-12-22 13:47:34 +01:00
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
namespace Content.Server.Preferences.Managers
|
2019-12-22 13:47:34 +01:00
|
|
|
{
|
|
|
|
|
public interface IServerPreferencesManager
|
|
|
|
|
{
|
2020-09-29 14:26:00 +02:00
|
|
|
void Init();
|
|
|
|
|
|
2023-10-28 09:59:53 +11:00
|
|
|
Task LoadData(ICommonSession session, CancellationToken cancel);
|
2024-05-08 04:24:54 +02:00
|
|
|
void FinishLoad(ICommonSession session);
|
2023-10-28 09:59:53 +11:00
|
|
|
void OnClientDisconnected(ICommonSession session);
|
2020-09-29 14:26:00 +02:00
|
|
|
|
2022-08-14 12:54:49 -07:00
|
|
|
bool TryGetCachedPreferences(NetUserId userId, [NotNullWhen(true)] out PlayerPreferences? playerPreferences);
|
2020-09-29 14:26:00 +02:00
|
|
|
PlayerPreferences GetPreferences(NetUserId userId);
|
2024-04-24 21:31:45 -04:00
|
|
|
PlayerPreferences? GetPreferencesOrNull(NetUserId? userId);
|
2020-09-29 14:26:00 +02:00
|
|
|
IEnumerable<KeyValuePair<NetUserId, ICharacterProfile>> GetSelectedProfilesForPlayers(List<NetUserId> userIds);
|
2023-10-28 09:59:53 +11:00
|
|
|
bool HavePreferencesLoaded(ICommonSession session);
|
2024-05-26 05:14:29 +00:00
|
|
|
|
|
|
|
|
Task SetProfile(NetUserId userId, int slot, ICharacterProfile profile);
|
2019-12-22 13:47:34 +01:00
|
|
|
}
|
|
|
|
|
}
|