This commit is contained in:
2026-01-22 23:30:03 -07:00
parent 74a1cad126
commit 45ddf20ba0

View File

@@ -158,83 +158,63 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
ShowStatus("Failed to make HTTP request"); ShowStatus("Failed to make HTTP request");
return; return;
} }
string response = request.downloadHandler.text; ShowStatus(null);
if (response == "-999") var jsonResponse = JObject.Parse(request.downloadHandler.text);
var icons = JsonConvert.DeserializeObject<MarketplaceIconType[]>(jsonResponse["data"].ToString());
var localUserID = BazookaManager.Instance.GetAccountID();
foreach (var entry in icons)
{ {
ShowStatus("Server error while fetching data"); GameObject newIcon = Instantiate(sample, content.transform);
} newIcon.name = "IconEntry";
else if (response == "-998")
{ Tools.RenderFromBase64(entry.Data, newIcon.transform.GetChild(0).GetChild(0).GetComponent<Image>());
ShowStatus("Client version too outdated to access servers"); newIcon.transform.GetChild(1).GetComponent<TMP_Text>().text = "Bird Name: " + entry.Name;
} newIcon.transform.GetChild(2).GetComponent<TMP_Text>().text = "Price " + Tools.FormatWithCommas(entry.Price) + " coins";
else if (response == "-997") newIcon.transform.GetChild(3).GetComponent<TMP_Text>().text = "Designer Name: " + entry.CreatorUsername;
{
ShowStatus("Encryption/decryption issues"); var btnGrid = newIcon.transform.GetChild(4);
} var buybtn = btnGrid.transform.GetChild(0).GetComponent<Button>();
else if (response == "-996") var sellbtn = btnGrid.transform.GetChild(1).GetComponent<Button>();
{ var buyttnText = buybtn.transform.GetChild(0).GetComponent<TMP_Text>();
ShowStatus("Can't send requests on self-built instance");
} sellbtn.onClick.AddListener(() =>
else
{
ShowStatus(null);
var jsonResponse = JObject.Parse(response);
var icons = JsonConvert.DeserializeObject<MarketplaceIconType[]>(jsonResponse["data"].ToString());
var localUserID = BazookaManager.Instance.GetAccountID();
foreach (var entry in icons)
{ {
GameObject newIcon = Instantiate(sample, content.transform); HandleSell(entry, buybtn, buyttnText, sellbtn, localUserID);
newIcon.name = "IconEntry"; Tools.RefreshHierarchy(newIcon);
});
Tools.RenderFromBase64(entry.Data, newIcon.transform.GetChild(0).GetChild(0).GetComponent<Image>()); buybtn.onClick.AddListener(() =>
newIcon.transform.GetChild(1).GetComponent<TMP_Text>().text = "Bird Name: " + entry.Name; {
newIcon.transform.GetChild(2).GetComponent<TMP_Text>().text = "Price " + Tools.FormatWithCommas(entry.Price) + " coins"; HandlePurchase(entry, buybtn, sellbtn, localUserID);
newIcon.transform.GetChild(3).GetComponent<TMP_Text>().text = "Designer Name: " + entry.CreatorUsername; Tools.RefreshHierarchy(newIcon);
});
var btnGrid = newIcon.transform.GetChild(4); bool alreadyBought = BazookaManager.Instance.GetCustomBirdIconData().Data.Any(d => d.UUID == entry.UUID);
var buybtn = btnGrid.transform.GetChild(0).GetComponent<Button>(); if (alreadyBought)
var sellbtn = btnGrid.transform.GetChild(1).GetComponent<Button>(); {
var buyttnText = buybtn.transform.GetChild(0).GetComponent<TMP_Text>(); buybtn.interactable = false;
if (localUserID != entry.CreatorUserID)
sellbtn.onClick.AddListener(() =>
{ {
HandleSell(entry, buybtn, buyttnText, sellbtn, localUserID); buyttnText.text = "Purchased";
Tools.RefreshHierarchy(newIcon); sellbtn.gameObject.SetActive(true);
});
buybtn.onClick.AddListener(() =>
{
HandlePurchase(entry, buybtn, sellbtn, localUserID);
Tools.RefreshHierarchy(newIcon);
});
bool alreadyBought = BazookaManager.Instance.GetCustomBirdIconData().Data.Any(d => d.UUID == entry.UUID);
if (alreadyBought)
{
buybtn.interactable = false;
if (localUserID != entry.CreatorUserID)
{
buyttnText.text = "Purchased";
sellbtn.gameObject.SetActive(true);
}
else
{
buyttnText.text = "Claimed";
}
} }
else else
{ {
if (localUserID != entry.CreatorUserID) buyttnText.text = "Claimed";
{
buyttnText.text = "Purchase";
}
else
{
buyttnText.text = "Claim";
}
} }
newIcon.SetActive(true);
Tools.RefreshHierarchy(newIcon);
} }
else
{
if (localUserID != entry.CreatorUserID)
{
buyttnText.text = "Purchase";
}
else
{
buyttnText.text = "Claim";
}
}
newIcon.SetActive(true);
Tools.RefreshHierarchy(newIcon);
} }
refreshButton.interactable = true; refreshButton.interactable = true;
optionsButton.interactable = true; optionsButton.interactable = true;