From ff7a5becb28fe143b423a864252896b52422c797 Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Sun, 24 Aug 2025 15:49:31 -0700 Subject: [PATCH] Convert chatroom response to use a custom type --- Assets/Scripts/ChatroomMenu.cs | 44 ++++++++------------ Assets/Scripts/Types/ChatroomMessage.cs | 39 +++++++++++++++++ Assets/Scripts/Types/ChatroomMessage.cs.meta | 2 + 3 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 Assets/Scripts/Types/ChatroomMessage.cs create mode 100644 Assets/Scripts/Types/ChatroomMessage.cs.meta diff --git a/Assets/Scripts/ChatroomMenu.cs b/Assets/Scripts/ChatroomMenu.cs index f522ae9..70c32a8 100644 --- a/Assets/Scripts/ChatroomMenu.cs +++ b/Assets/Scripts/ChatroomMenu.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Numerics; using System.Text; using System.Threading.Tasks; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TMPro; using UnityEngine; @@ -195,20 +196,11 @@ public class ChatroomMenu : MonoBehaviour break; default: shouldClear = false; - var jsonResponse = JArray.Parse(response); + var messages = JsonConvert.DeserializeObject(response); var localUserId = BazookaManager.Instance.GetAccountID(); - foreach (JObject entry in jsonResponse.Cast()) + foreach (var message in messages) { - var username = (string)entry["username"]; - var chatContent = Encoding.UTF8.GetString(Convert.FromBase64String((string)entry["content"])); - var id = BigInteger.Parse((string)entry["id"]); - var icon = (int)entry["icon"]; - var overlay = (int)entry["overlay"]; - var uid = BigInteger.Parse((string)entry["userid"]); - var birdColor = (JArray)entry["birdColor"]; - var overlayColor = (JArray)entry["overlayColor"]; - - if (content.transform.Find("ChatroomRow_" + id + "_" + uid) != null) + if (content.transform.Find("ChatroomRow_" + message.ID + "_" + message.UserID) != null) { continue; } @@ -226,34 +218,34 @@ public class ChatroomMenu : MonoBehaviour var messageText = rowInfo.transform.GetChild(3).GetComponent(); var optionsButton = rowInfo.transform.GetChild(4).GetComponent