From d75a9f5cb176b6b411c65201982c7779060f6802 Mon Sep 17 00:00:00 2001 From: Danika De Vaz Date: Fri, 8 Apr 2022 18:58:24 -0400 Subject: [PATCH 1/2] fixed auctionscreen logic --- ElfenGame/Assets/Scripts/MainUIManager.cs | 29 +++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/ElfenGame/Assets/Scripts/MainUIManager.cs b/ElfenGame/Assets/Scripts/MainUIManager.cs index e160629..b1893c8 100644 --- a/ElfenGame/Assets/Scripts/MainUIManager.cs +++ b/ElfenGame/Assets/Scripts/MainUIManager.cs @@ -770,19 +770,30 @@ public void ShowAuctionScreen() } // Go to the next item in the auction - private void GoToNextAuctionItem() + private void GoToNextAuctionItem(bool first = false) { + AuctionItem[] auctionItems = GetActiveAuctionItems(); + + if (first) + { + currentAuctionItem = auctionItems[0]; + return; + } + // get the next item - currentAuctionItem = auctionItems[0]; - // remove it from the list - auctionItems.RemoveAt(0); - // update the tile image in the UI - auctionPanel.GetComponent().sprite = currentAuctionItem.tile.mImage; + currentAuctionItem = auctionItems[1]; + // remove current auction item + Destroy(auctionItems[0].gameObject); // reset the user's bid amount auctionPanel.GetComponentInChildren().SetText("0"); } + private AuctionItem[] GetActiveAuctionItems() + { + return auctionGroup.GetComponentsInChildren(); + } + public void HideAuctionScreen() { auctionPanel.SetActive(false); @@ -862,12 +873,6 @@ private void GoToNextAuctionState() GoToNextAuctionItem(); } - // Returns true once all items have been auctioned - private bool IsAuctionDone() - { - return auctionItems.Count == 0 && IsAuctionItemDone(); - } - // Returns true once every player has bid (note that a pass is equivalent to a bid of 0) private bool IsAuctionItemDone() { From cf0025d47ffacd0315cf0bbc83106de83e24198a Mon Sep 17 00:00:00 2001 From: Danika De Vaz Date: Fri, 8 Apr 2022 19:35:15 -0400 Subject: [PATCH 2/2] Added AuctionPhase handler to Game::HandlePhaseUpdate Also disabled auction initalization for now as it throws an exception because the auctionPrefab isnt implemented yet Panel is now displayed once we enter AuctionPhase --- ElfenGame/Assets/Scripts/Game.cs | 10 ++++++++++ ElfenGame/Assets/Scripts/TaskRunner.cs | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ElfenGame/Assets/Scripts/Game.cs b/ElfenGame/Assets/Scripts/Game.cs index 80b69fd..5948eaa 100644 --- a/ElfenGame/Assets/Scripts/Game.cs +++ b/ElfenGame/Assets/Scripts/Game.cs @@ -502,7 +502,17 @@ private void HandlePhaseUpdate() MainUIManager.manager.hideTokenSelection(); } + if (curPhase == GamePhase.Auction) + { + MainUIManager.manager.ShowAuctionScreen(); + } + else + { + MainUIManager.manager.HideAuctionScreen(); + } + Player local = Player.GetLocalPlayer(); + if (curPhase == GamePhase.SelectTokenToKeep && local.IsMyTurn()) { if (local.mHiddenTiles.Count == 0 && (local.mVisibleTiles.Count == 0 || diff --git a/ElfenGame/Assets/Scripts/TaskRunner.cs b/ElfenGame/Assets/Scripts/TaskRunner.cs index ef842de..2d1e398 100644 --- a/ElfenGame/Assets/Scripts/TaskRunner.cs +++ b/ElfenGame/Assets/Scripts/TaskRunner.cs @@ -44,7 +44,8 @@ void Update() } catch (Exception e) { - Debug.LogError(e); + //Debug.LogError(e); + Debug.Log(e); } } toRun.Clear();