using Dalamud.Game.ClientState.Objects.Types; using LightlessSync.API.Data; using LightlessSync.API.Dto; using LightlessSync.API.Dto.CharaData; using LightlessSync.API.Dto.Group; using LightlessSync.LightlessConfiguration.Models; using LightlessSync.PlayerData.Handlers; using LightlessSync.PlayerData.Pairs; using LightlessSync.Services.ActorTracking; using LightlessSync.Services.Chat; using LightlessSync.Services.Events; using LightlessSync.WebAPI.Files.Models; using System.Numerics; using LightlessSync.UI.Models; namespace LightlessSync.Services.Mediator; #pragma warning disable MA0048 // File name must match type name #pragma warning disable S2094 public record SwitchToIntroUiMessage : MessageBase; public record SwitchToMainUiMessage : MessageBase; public record OpenSettingsUiMessage : MessageBase; public record OpenLightfinderSettingsMessage : MessageBase; public record DalamudLoginMessage : MessageBase; public record DalamudLogoutMessage : MessageBase; public record ActorTrackedMessage(ActorObjectService.ActorDescriptor Descriptor) : SameThreadMessage; public record ActorUntrackedMessage(ActorObjectService.ActorDescriptor Descriptor) : SameThreadMessage; public record PriorityFrameworkUpdateMessage : SameThreadMessage; public record FrameworkUpdateMessage : SameThreadMessage; public record ClassJobChangedMessage(GameObjectHandler GameObjectHandler) : MessageBase; public record DelayedFrameworkUpdateMessage : SameThreadMessage; public record ZoneSwitchStartMessage : MessageBase; public record ZoneSwitchEndMessage : MessageBase; public record WorldChangedMessage(ushort PreviousWorldId, ushort CurrentWorldId) : MessageBase; public record CutsceneStartMessage : MessageBase; public record GposeStartMessage : SameThreadMessage; public record GposeEndMessage : MessageBase; public record CutsceneEndMessage : MessageBase; public record CutsceneFrameworkUpdateMessage : SameThreadMessage; public record ConnectedMessage(ConnectionDto Connection) : MessageBase; public record DisconnectedMessage : SameThreadMessage; public record PenumbraModSettingChangedMessage : MessageBase; public record PenumbraInitializedMessage : MessageBase; public record PenumbraDisposedMessage : MessageBase; public record PenumbraRedrawMessage(IntPtr Address, int ObjTblIdx, bool WasRequested) : SameThreadMessage; public record GlamourerChangedMessage(IntPtr Address) : MessageBase; public record HeelsOffsetMessage : MessageBase; public record PenumbraResourceLoadMessage(IntPtr GameObject, string GamePath, string FilePath) : SameThreadMessage; public record CustomizePlusMessage(nint? Address) : MessageBase; public record HonorificMessage(string NewHonorificTitle) : MessageBase; public record MoodlesMessage(IntPtr Address) : MessageBase; public record PetNamesReadyMessage : MessageBase; public record PetNamesMessage(string PetNicknamesData) : MessageBase; public record HonorificReadyMessage : MessageBase; public record TransientResourceChangedMessage(IntPtr Address) : MessageBase; public record HaltScanMessage(string Source) : MessageBase; public record NotificationMessage (string Title, string Message, NotificationType Type, TimeSpan? TimeShownOnScreen = null) : MessageBase; public record PerformanceNotificationMessage (string Title, string Message, UserData UserData, bool IsPaused, string PlayerName) : MessageBase; public record CreateCacheForObjectMessage(GameObjectHandler ObjectToCreateFor) : SameThreadMessage; public record ClearCacheForObjectMessage(GameObjectHandler ObjectToCreateFor) : SameThreadMessage; public record CharacterDataCreatedMessage(CharacterData CharacterData) : SameThreadMessage; public record LightlessNotificationMessage(LightlessSync.UI.Models.LightlessNotification Notification) : MessageBase; public record LightlessNotificationDismissMessage(string NotificationId) : MessageBase; public record ClearAllNotificationsMessage : MessageBase; public record CharacterDataAnalyzedMessage : MessageBase; public record PenumbraStartRedrawMessage(IntPtr Address) : MessageBase; public record PenumbraEndRedrawMessage(IntPtr Address) : MessageBase; public record HubReconnectingMessage(Exception? Exception) : SameThreadMessage; public record HubReconnectedMessage(string? Arg) : SameThreadMessage; public record HubClosedMessage(Exception? Exception) : SameThreadMessage; public record ResumeScanMessage(string Source) : MessageBase; public record FileCacheInitializedMessage : MessageBase; public record DownloadReadyMessage(Guid RequestId) : MessageBase; public record DownloadStartedMessage(GameObjectHandler DownloadId, Dictionary DownloadStatus) : MessageBase; public record DownloadFinishedMessage(GameObjectHandler DownloadId) : MessageBase; public record UiToggleMessage(Type UiType) : MessageBase; public record PlayerUploadingMessage(GameObjectHandler Handler, bool IsUploading) : MessageBase; public record ClearProfileUserDataMessage(UserData? UserData = null) : MessageBase; public record ClearProfileGroupDataMessage(GroupData? GroupData = null) : MessageBase; public record CyclePauseMessage(Pair Pair) : MessageBase; public record PauseMessage(UserData UserData) : MessageBase; public record ProfilePopoutToggle(Pair? Pair) : MessageBase; public record CompactUiChange(Vector2 Size, Vector2 Position) : MessageBase; public record ProfileOpenStandaloneMessage(Pair Pair) : MessageBase; public record GroupProfileOpenStandaloneMessage(GroupData Group) : MessageBase; public record OpenGroupProfileEditorMessage(GroupFullInfoDto Group) : MessageBase; public record CloseGroupProfilePreviewMessage(GroupFullInfoDto Group) : MessageBase; public record ActiveServerChangedMessage(string ServerUrl) : MessageBase; public record OpenSelfProfilePreviewMessage(UserData User) : MessageBase; public record CloseSelfProfilePreviewMessage(UserData User) : MessageBase; public record OpenLightfinderProfileMessage(UserData User, LightlessProfileData ProfileData, string HashedCid) : MessageBase; public record RemoveWindowMessage(WindowMediatorSubscriberBase Window) : MessageBase; public record RefreshUiMessage : MessageBase; public record OpenBanUserPopupMessage(Pair PairToBan, GroupFullInfoDto GroupFullInfoDto) : MessageBase; public record OpenCensusPopupMessage() : MessageBase; public record OpenSyncshellAdminPanel(GroupFullInfoDto GroupInfo) : MessageBase; public record OpenPermissionWindow(Pair Pair) : MessageBase; public record DownloadLimitChangedMessage() : SameThreadMessage; public record PairProcessingLimitChangedMessage : SameThreadMessage; public record PairDataChangedMessage : MessageBase; public record PairUiUpdatedMessage(PairUiSnapshot Snapshot) : MessageBase; public record CensusUpdateMessage(byte Gender, byte RaceId, byte TribeId) : MessageBase; public record TargetPairMessage(Pair Pair) : MessageBase; public record PairFocusCharacterMessage(Pair Pair) : SameThreadMessage; public record CombatStartMessage : MessageBase; public record CombatEndMessage : MessageBase; public record PerformanceStartMessage : MessageBase; public record PerformanceEndMessage : MessageBase; public record InstanceOrDutyStartMessage : MessageBase; public record InstanceOrDutyEndMessage : MessageBase; public record EventMessage(Event Event) : MessageBase; public record PenumbraDirectoryChangedMessage(string? ModDirectory) : MessageBase; public record PenumbraRedrawCharacterMessage(ICharacter Character) : SameThreadMessage; public record GameObjectHandlerCreatedMessage(GameObjectHandler GameObjectHandler, bool OwnedObject) : SameThreadMessage; public record GameObjectHandlerDestroyedMessage(GameObjectHandler GameObjectHandler, bool OwnedObject) : SameThreadMessage; public record HaltCharaDataCreation(bool Resume = false) : SameThreadMessage; public record GposeLobbyUserJoin(UserData UserData) : MessageBase; public record GPoseLobbyUserLeave(UserData UserData) : MessageBase; public record GPoseLobbyReceiveCharaData(CharaDataDownloadDto CharaDataDownloadDto) : MessageBase; public record GPoseLobbyReceivePoseData(UserData UserData, PoseData PoseData) : MessageBase; public record GPoseLobbyReceiveWorldData(UserData UserData, WorldData WorldData) : MessageBase; public record OpenCharaDataHubWithFilterMessage(UserData UserData) : MessageBase; public record EnableBroadcastMessage(string HashedCid, bool Enabled) : MessageBase; public record BroadcastStatusChangedMessage(bool Enabled, TimeSpan? Ttl) : MessageBase; public record UserLeftSyncshell(string gid) : MessageBase; public record UserJoinedSyncshell(string gid) : MessageBase; public record SyncshellBroadcastsUpdatedMessage : MessageBase; public record PairRequestReceivedMessage(string HashedCid, string Message) : MessageBase; public record PairRequestsUpdatedMessage : MessageBase; public record PairDownloadStatusMessage(List<(string PlayerName, float Progress, string Status)> DownloadStatus, int QueueWaiting) : MessageBase; public record VisibilityChange : MessageBase; public record ChatChannelsUpdated : MessageBase; public record ChatChannelMessageAdded(string ChannelKey, ChatMessageEntry Message) : MessageBase; public record GroupCollectionChangedMessage : MessageBase; public record OpenUserProfileMessage(UserData User) : MessageBase; #pragma warning restore S2094 #pragma warning restore MA0048 // File name must match type name