Add more types, should be done for those I think

This commit is contained in:
2025-07-16 21:31:18 -07:00
parent ce673da55b
commit 90d5c2d8c2
7 changed files with 27 additions and 12 deletions

View File

@@ -2,6 +2,7 @@ using System.IO;
using System.Numerics; using System.Numerics;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Unity.VisualScripting;
using UnityEngine; using UnityEngine;
public class BazookaManager : MonoBehaviour public class BazookaManager : MonoBehaviour
@@ -138,10 +139,10 @@ public class BazookaManager : MonoBehaviour
return int.Parse(saveFile["bird"]["pastOverlay"].ToString()); return int.Parse(saveFile["bird"]["pastOverlay"].ToString());
} }
public void SetCustomBirdIconData(JObject value) public void SetCustomBirdIconData(MarketplaceIconStorageType value)
{ {
if (saveFile["bird"] == null) saveFile["bird"] = new JObject(); if (saveFile["bird"] == null) saveFile["bird"] = new JObject();
saveFile["bird"]["customIcon"] = value; saveFile["bird"]["customIcon"] = value.ConvertTo<JObject>();
} }
public void UnsetCustomBirdIconData() public void UnsetCustomBirdIconData()
@@ -151,11 +152,11 @@ public class BazookaManager : MonoBehaviour
(saveFile["bird"] as JObject)?.Remove("customIcon"); (saveFile["bird"] as JObject)?.Remove("customIcon");
} }
public JObject GetCustomBirdIconData() public MarketplaceIconStorageType GetCustomBirdIconData()
{ {
if (saveFile["bird"] == null) return new(); if (saveFile["bird"] == null) return new();
if (saveFile["bird"]["customIcon"] == null) return new(); if (saveFile["bird"]["customIcon"] == null) return new();
return saveFile["bird"]["customIcon"] as JObject; return saveFile["bird"]["customIcon"].ToObject<MarketplaceIconStorageType>();
} }
//Settings stuff //Settings stuff

View File

@@ -70,14 +70,14 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
var jsonResponse = JArray.Parse(response); var jsonResponse = JArray.Parse(response);
foreach (var item in jsonResponse) foreach (var item in jsonResponse)
{ {
DownloadIconType entry = ((JObject)item).ToObject<DownloadIconType>(); MarketplaceIconType entry = ((JObject)item).ToObject<MarketplaceIconType>();
GameObject newIcon = Instantiate(sample, content.transform); GameObject newIcon = Instantiate(sample, content.transform);
newIcon.name = "IconEntry"; newIcon.name = "IconEntry";
Tools.RenderFromBase64(entry.Data, newIcon.transform.GetChild(0).GetChild(0).GetComponent<Image>()); Tools.RenderFromBase64(entry.Data, newIcon.transform.GetChild(0).GetChild(0).GetComponent<Image>());
newIcon.transform.GetChild(1).GetComponent<TMP_Text>().text = "Bird Name: " + entry.Name; newIcon.transform.GetChild(1).GetComponent<TMP_Text>().text = "Bird Name: " + entry.Name;
newIcon.transform.GetChild(2).GetComponent<TMP_Text>().text = "Price " + entry.Price + " coin"; newIcon.transform.GetChild(2).GetComponent<TMP_Text>().text = "Price " + entry.Price + " coin";
newIcon.transform.GetChild(3).GetComponent<TMP_Text>().text = "Designer Name: " + entry.Username; newIcon.transform.GetChild(3).GetComponent<TMP_Text>().text = "Designer Name: " + entry.CreatorUsername;
newIcon.transform.GetChild(4).GetChild(0).GetComponent<TMP_Text>().text = "Purchase"; newIcon.transform.GetChild(4).GetChild(0).GetComponent<TMP_Text>().text = "Purchase";
newIcon.transform.GetChild(4).GetComponent<Button>().onClick.AddListener(() => HandlePurchase(entry)); newIcon.transform.GetChild(4).GetComponent<Button>().onClick.AddListener(() => HandlePurchase(entry));
@@ -86,7 +86,7 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
} }
} }
void HandlePurchase(DownloadIconType data) void HandlePurchase(MarketplaceIconType data)
{ {
//will work on this //will work on this
} }

View File

@@ -42,14 +42,14 @@ public class IconMarketplaceManager : MonoBehaviour
switch (panelIndex) switch (panelIndex)
{ {
case 0: case 0:
coinText.text = "You have " + Tools.FormatWithCommas((BazookaManager.Instance.GetCustomBirdIconData()["totalCoins"] ?? "0").ToString()) + " coins"; coinText.text = "You have " + Tools.FormatWithCommas(BazookaManager.Instance.GetCustomBirdIconData().Balance) + " coins";
normalPanel.SetActive(true); normalPanel.SetActive(true);
downloadPanel.SetActive(false); downloadPanel.SetActive(false);
uploadPanel.SetActive(false); uploadPanel.SetActive(false);
break; break;
case 1: case 1:
downloadPanelScript.Load(); downloadPanelScript.Load();
downloadPanelScript.balanceText.text = "You have " + Tools.FormatWithCommas((BazookaManager.Instance.GetCustomBirdIconData()["totalCoins"] ?? "0").ToString()) + " coins to spend"; downloadPanelScript.balanceText.text = "You have " + Tools.FormatWithCommas(BazookaManager.Instance.GetCustomBirdIconData().Balance) + " coins to spend";
normalPanel.SetActive(false); normalPanel.SetActive(false);
downloadPanel.SetActive(true); downloadPanel.SetActive(true);
uploadPanel.SetActive(false); uploadPanel.SetActive(false);

View File

@@ -0,0 +1,12 @@
using System;
using System.Numerics;
using Newtonsoft.Json;
public class MarketplaceIconStorageType {
[JsonProperty("selected")]
public string Selected { get; set; } = null;
[JsonProperty("balance")]
public BigInteger Balance { get; set; } = 0;
[JsonProperty("data")]
public MarketplaceIconType[] Data { get; set; } = Array.Empty<MarketplaceIconType>();
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b8760344b405294a99c83390f622524d

View File

@@ -1,10 +1,10 @@
using Newtonsoft.Json; using Newtonsoft.Json;
public class DownloadIconType { public class MarketplaceIconType {
[JsonProperty("username")] [JsonProperty("username")]
public string Username { get; set; } public string CreatorUsername { get; set; }
[JsonProperty("userid")] [JsonProperty("userid")]
public string UserID { get; set; } public string CreatorUserID { get; set; }
[JsonProperty("data")] [JsonProperty("data")]
public string Data { get; set; } public string Data { get; set; }
[JsonProperty("uuid")] [JsonProperty("uuid")]