From c0bb66eceea0d416496ca606a48497e2b697181f Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 26 May 2024 01:12:36 -0400 Subject: Prevent overlapping textboxes when sending location --- AnodyneArchipelago/ArchipelagoManager.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/AnodyneArchipelago/ArchipelagoManager.cs b/AnodyneArchipelago/ArchipelagoManager.cs index 9a3ac59..34ca75a 100644 --- a/AnodyneArchipelago/ArchipelagoManager.cs +++ b/AnodyneArchipelago/ArchipelagoManager.cs @@ -22,6 +22,7 @@ namespace AnodyneArchipelago private string _seedName; private readonly Queue _itemsToCollect = new(); + private readonly Queue _messages = new(); public async Task Connect(string url, string slotName, string password) { @@ -111,15 +112,21 @@ namespace AnodyneArchipelago _itemIndex = _session.Items.AllItemsReceived.Count; } - if (_itemsToCollect.Count > 0 && - (GlobalState.Dialogue == null || GlobalState.Dialogue == "") && + if ((GlobalState.Dialogue == null || GlobalState.Dialogue == "") && !GlobalState.ScreenTransition && Plugin.Player != null && GlobalState.black_overlay.alpha == 0f && !Plugin.IsGamePaused) { - NetworkItem item = _itemsToCollect.Dequeue(); - HandleItem(item); + if (_itemsToCollect.Count > 0) + { + NetworkItem item = _itemsToCollect.Dequeue(); + HandleItem(item); + } + else if (_messages.Count > 0) + { + GlobalState.Dialogue = _messages.Dequeue(); + } } } @@ -272,7 +279,7 @@ namespace AnodyneArchipelago messageText = $"Sent {itemName} to {otherPlayer}."; SoundManager.PlaySoundEffect("gettreasure"); - GlobalState.Dialogue = messageText; + _messages.Enqueue(messageText); } break; } -- cgit 1.4.1