From 1477b8e112a6746b31a9a8c826f3550531f39de8 Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Sat, 23 Aug 2025 13:41:30 -0700 Subject: [PATCH] Show options button + background color per chat entry --- Assets/Scenes/ChatroomMenu.unity | 131 +++++++++++++++++++++++++++++++ Assets/Scripts/ChatroomMenu.cs | 9 ++- Packages/manifest.json | 1 + Packages/packages-lock.json | 7 ++ 4 files changed, 145 insertions(+), 3 deletions(-) diff --git a/Assets/Scenes/ChatroomMenu.unity b/Assets/Scenes/ChatroomMenu.unity index 8ebe043..d6fed6b 100644 --- a/Assets/Scenes/ChatroomMenu.unity +++ b/Assets/Scenes/ChatroomMenu.unity @@ -649,6 +649,46 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 268195034} m_CullTransparentMesh: 1 +--- !u!21 &294848887 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &347285537 GameObject: m_ObjectHideFlags: 0 @@ -813,6 +853,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1208331054} - {fileID: 347285538} - {fileID: 97705055} - {fileID: 97080575} @@ -1701,6 +1742,96 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1187894096} m_CullTransparentMesh: 1 +--- !u!1 &1208331053 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1208331054} + - component: {fileID: 1208331056} + - component: {fileID: 1208331055} + - component: {fileID: 1208331057} + m_Layer: 5 + m_Name: HoverColor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1208331054 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1208331053} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 432996041} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1208331055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1208331053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 294848887} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1208331056 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1208331053} + m_CullTransparentMesh: 1 +--- !u!114 &1208331057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1208331053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3} + m_Name: + m_EditorClassIdentifier: Nobi.UiRoundedCorners::Nobi.UiRoundedCorners.ImageWithRoundedCorners + radius: 10 + image: {fileID: 1208331055} --- !u!1 &1301936379 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/ChatroomMenu.cs b/Assets/Scripts/ChatroomMenu.cs index 85afaac..9620f16 100644 --- a/Assets/Scripts/ChatroomMenu.cs +++ b/Assets/Scripts/ChatroomMenu.cs @@ -193,6 +193,7 @@ public class ChatroomMenu : MonoBehaviour default: shouldClear = false; var jsonResponse = JArray.Parse(response); + var localUserId = BazookaManager.Instance.GetAccountID(); foreach (JObject entry in jsonResponse.Cast()) { var username = (string)entry["username"]; @@ -215,11 +216,13 @@ public class ChatroomMenu : MonoBehaviour } var rowInfo = Instantiate(sampleObject, content.transform); - var usernameText = rowInfo.transform.GetChild(0).GetComponent(); - var playerIcon = rowInfo.transform.GetChild(1).GetComponent(); + var usernameText = rowInfo.transform.GetChild(1).GetComponent(); + var playerIcon = rowInfo.transform.GetChild(2).GetComponent(); var playerOverlayIcon = playerIcon.transform.GetChild(0).GetComponent(); - var messageText = rowInfo.transform.GetChild(2).GetComponent(); + var messageText = rowInfo.transform.GetChild(3).GetComponent(); + var optionsButton = rowInfo.transform.GetChild(4).GetComponent