neon-sprawl/server/NeonSprawl.Server/Game/Encounters/IEncounterCompletionStore.cs

13 lines
541 B
C#

namespace NeonSprawl.Server.Game.Encounters;
/// <summary>Idempotent per-player encounter completion flag (NEO-104; rewards applied in NEO-105).</summary>
public interface IEncounterCompletionStore
{
bool IsCompleted(string playerId, string encounterId);
/// <summary>First mark returns <c>true</c>; replays return <c>false</c>.</summary>
bool TryMarkCompleted(string playerId, string encounterId, DateTimeOffset completedAt);
bool TryGetCompletedAt(string playerId, string encounterId, out DateTimeOffset completedAt);
}