Add golden berry to profile/stats menu, modify XP calculation and switch to new Profile endpoint

This commit is contained in:
2026-02-11 13:34:59 -07:00
parent 1912822e63
commit 6d616e7b23
8 changed files with 693 additions and 55 deletions

View File

@@ -28,6 +28,7 @@ public class ProfileMenu : MonoBehaviour
[SerializeField] private TMP_Text coinBerryStat;
[SerializeField] private TMP_Text randomBerryStat;
[SerializeField] private TMP_Text antiBerryStat;
[SerializeField] private TMP_Text goldenBerryStat;
[SerializeField] private TMP_Text coinStat;
[SerializeField] private TMP_Text playerNameText;
[SerializeField] private Image playerIconImage;
@@ -53,6 +54,7 @@ public class ProfileMenu : MonoBehaviour
string coinBerries,
string randomBerries,
string antiBerries,
string goldenBerries,
string coins,
string playerName,
BigInteger playerID,
@@ -71,6 +73,7 @@ public class ProfileMenu : MonoBehaviour
coinBerryStat.text = Tools.FormatWithCommas(coinBerries);
randomBerryStat.text = Tools.FormatWithCommas(randomBerries);
antiBerryStat.text = Tools.FormatWithCommas(antiBerries);
goldenBerryStat.text = Tools.FormatWithCommas(goldenBerries);
coinStat.text = Tools.FormatWithCommas(coins);
playerNameText.text = playerName;
@@ -109,7 +112,7 @@ public class ProfileMenu : MonoBehaviour
public async Task Init(BigInteger playerID)
{
if (BazookaManager.Instance.GetAccountID() == playerID) { await Init(); return; }
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.PROFILE_ENDPOINT + "?userId=" + playerID.ToString());
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.BD_ACCOUNT_ENDPOINT + "?id=" + playerID.ToString() + "&exact=true");
request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
@@ -125,27 +128,31 @@ public class ProfileMenu : MonoBehaviour
var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
var iconColorArray = jsonResponse["data"]["iconColor"].Type == JTokenType.Null ? new JArray(255, 255, 255) : (JArray)jsonResponse["data"]["iconColor"];
var overlayColorArray = jsonResponse["data"]["overlayColor"].Type == JTokenType.Null ? new JArray(255, 255, 255) : (JArray)jsonResponse["data"]["overlayColor"];
var iconColor = new Color((int)iconColorArray[0] / 255f, (int)iconColorArray[1] / 255f, (int)iconColorArray[2] / 255f);
var overlayColor = new Color((int)overlayColorArray[0] / 255f, (int)overlayColorArray[1] / 255f, (int)overlayColorArray[2] / 255f);
var data = jsonResponse["data"].ToObject<Account>();
var iconColorArray = data.BirdColor;
var overlayColorArray = data.OverlayColor;
var iconColor = new Color(iconColorArray[0] / 255f, iconColorArray[1] / 255f, iconColorArray[2] / 255f);
var overlayColor = new Color(overlayColorArray[0] / 255f, overlayColorArray[1] / 255f, overlayColorArray[2] / 255f);
await Init(
(string)jsonResponse["data"]["stats"]["totalNormalBerries"],
(string)jsonResponse["data"]["stats"]["totalPoisonBerries"],
(string)jsonResponse["data"]["stats"]["totalSlowBerries"],
(string)jsonResponse["data"]["stats"]["totalUltraBerries"],
(string)jsonResponse["data"]["stats"]["totalSpeedyBerries"],
(string)jsonResponse["data"]["stats"]["totalCoinBerries"],
(string)jsonResponse["data"]["stats"]["totalRandomBerries"],
(string)jsonResponse["data"]["stats"]["totalAntiBerries"],
(string)jsonResponse["data"]["stats"]["coins"],
(string)jsonResponse["data"]["username"],
data.Stats.TotalNormalBerries.ToString(),
data.Stats.TotalPoisonBerries.ToString(),
data.Stats.TotalSlowBerries.ToString(),
data.Stats.TotalUltraBerries.ToString(),
data.Stats.TotalSpeedyBerries.ToString(),
data.Stats.TotalCoinBerries.ToString(),
data.Stats.TotalRandomBerries.ToString(),
data.Stats.TotalAntiBerries.ToString(),
data.Stats.TotalGoldenBerries.ToString(),
data.Stats.Coins.ToString(),
data.Username,
playerID,
int.Parse(jsonResponse["data"]["icon"].Type == JTokenType.Null ? "1" : jsonResponse["data"]["icon"].ToString()),
int.Parse(jsonResponse["data"]["overlay"].Type == JTokenType.Null ? "0" : jsonResponse["data"]["overlay"].ToString()),
data.Icon,
data.Overlay,
iconColor,
overlayColor,
(string)jsonResponse["data"]["customIcon"]
data.CustomIcon
);
}
else
@@ -173,6 +180,7 @@ public class ProfileMenu : MonoBehaviour
BazookaManager.Instance.GetGameStoreTotalCoinBerries().ToString(),
BazookaManager.Instance.GetGameStoreTotalRandomBerries().ToString(),
BazookaManager.Instance.GetGameStoreTotalAntiBerries().ToString(),
BazookaManager.Instance.GetGameStoreTotalGoldenBerries().ToString(),
customIconData.Balance.ToString(),
BazookaManager.Instance.GetAccountName().ToString(),
BazookaManager.Instance.GetAccountID() ?? 0,