From 56e1343c8c7c9f5a21a7edbec5e33a4750afbade Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Wed, 20 Dec 2023 00:26:05 -0600 Subject: [PATCH] Fix Issue #23. Now shows the price in red if the total cost is too high. --- Crawler/BuyItemWindow.cpp | 9 +++++++-- Crawler/MerchantWindow.cpp | 7 ++++++- Crawler/Version.h | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Crawler/BuyItemWindow.cpp b/Crawler/BuyItemWindow.cpp index 46617dd7..4e6d29d7 100644 --- a/Crawler/BuyItemWindow.cpp +++ b/Crawler/BuyItemWindow.cpp @@ -50,10 +50,15 @@ void Menu::InitializeBuyItemWindow(){ qty=std::clamp(qty,1,99); int pricePerItem=std::stoi(Component(BUY_ITEM,"Price per item Amount Label")->GetLabel()); Component(BUY_ITEM,"Amount to buy Amount Label")->SetLabel(std::to_string(qty)); - Component(BUY_ITEM,"Total Price Amount Label")->SetLabel(std::to_string(qty*pricePerItem)); + Merchant&merchant=Merchant::GetCurrentTravelingMerchant(); const std::string&item=Component(BUY_ITEM,"Item Purchase Header")->GetString(A::ITEM_NAME); - Component(BUY_ITEM,"Purchase Button")->SetGrayedOut(!merchant.CanPurchaseItem(item,GetQuantity())); + bool canPurchase=merchant.CanPurchaseItem(item,GetQuantity()); + + std::string colorCode=""; + if(!canPurchase)colorCode="#FF0000"; + Component(BUY_ITEM,"Total Price Amount Label")->SetLabel(colorCode+std::to_string(qty*pricePerItem)); + Component(BUY_ITEM,"Purchase Button")->SetGrayedOut(!canPurchase); }; buyItemWindow->ADD("Item Purchase Header",MenuLabel)({{2,2},{188,12}},"Buying ",1,ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND|ComponentAttr::SHADOW|ComponentAttr::FIT_TO_LABEL)END; diff --git a/Crawler/MerchantWindow.cpp b/Crawler/MerchantWindow.cpp index 163ea31c..17ae43e4 100644 --- a/Crawler/MerchantWindow.cpp +++ b/Crawler/MerchantWindow.cpp @@ -69,8 +69,13 @@ void Menu::InitializeMerchantWindow(){ Component(BUY_ITEM,"Amount to buy Amount Label")->SetLabel("1"); Component(BUY_ITEM,"Total Price Amount Label")->SetLabel(std::to_string(item->GetItem().BuyValue())); Merchant&merchant=Merchant::GetCurrentTravelingMerchant(); + bool canPurchase=merchant.CanPurchaseItem(item->GetItem().ActualName(),1); + + std::string colorCode=""; + if(!canPurchase)colorCode="#FF0000"; + Component(BUY_ITEM,"Total Price Amount Label")->SetLabel(colorCode+std::to_string(item->GetItem().BuyValue())); Component(BUY_ITEM,"Item Purchase Header")->SetLabel("Buying "+item->GetItem().DisplayName()); - Component(BUY_ITEM,"Purchase Button")->SetGrayedOut(!merchant.CanPurchaseItem(item->GetItem().DisplayName(),1)); + Component(BUY_ITEM,"Purchase Button")->SetGrayedOut(!merchant.CanPurchaseItem(item->GetItem().ActualName(),1)); Menu::OpenMenu(BUY_ITEM); return true; }, diff --git a/Crawler/Version.h b/Crawler/Version.h index 27c7cc8b..ac994121 100644 --- a/Crawler/Version.h +++ b/Crawler/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 0 #define VERSION_MINOR 2 #define VERSION_PATCH 1 -#define VERSION_BUILD 4270 +#define VERSION_BUILD 4272 #define stringify(a) stringify_(a) #define stringify_(a) #a