using System; using System.Collections.Generic; using WingsEmu.Core.Generics; namespace WingsEmu.Game.GameEvent; public interface IGameEventRegistrationManager { IReadOnlyCollection> GameEventRegistrations { get; } /// /// Tries to add a registration, in the case of failing it will return false. /// /// /// /// /// bool AddGameEventRegistration(GameEventType gameEventType, DateTime currentTime, DateTime expiryDate); void RemoveGameEventRegistration(GameEventType gameEventType); bool IsGameEventRegistrationOpen(GameEventType gameEventType, DateTime currentTime); void SetCharacterGameEventInclination(long id, GameEventType gameEventType); ThreadSafeHashSet GetAndRemoveCharactersByGameEventInclination(GameEventType gameEventType); void RemoveCharactersByGameEventInclination(GameEventType gameEventType); }