Show options button + background color per chat entry

This commit is contained in:
2025-08-23 13:41:30 -07:00
parent b09ca19505
commit 1477b8e112
4 changed files with 145 additions and 3 deletions

View File

@@ -649,6 +649,46 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 268195034} m_GameObject: {fileID: 268195034}
m_CullTransparentMesh: 1 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 --- !u!1 &347285537
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -813,6 +853,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1208331054}
- {fileID: 347285538} - {fileID: 347285538}
- {fileID: 97705055} - {fileID: 97705055}
- {fileID: 97080575} - {fileID: 97080575}
@@ -1701,6 +1742,96 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1187894096} m_GameObject: {fileID: 1187894096}
m_CullTransparentMesh: 1 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 --- !u!1 &1301936379
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -193,6 +193,7 @@ public class ChatroomMenu : MonoBehaviour
default: default:
shouldClear = false; shouldClear = false;
var jsonResponse = JArray.Parse(response); var jsonResponse = JArray.Parse(response);
var localUserId = BazookaManager.Instance.GetAccountID();
foreach (JObject entry in jsonResponse.Cast<JObject>()) foreach (JObject entry in jsonResponse.Cast<JObject>())
{ {
var username = (string)entry["username"]; var username = (string)entry["username"];
@@ -215,11 +216,13 @@ public class ChatroomMenu : MonoBehaviour
} }
var rowInfo = Instantiate(sampleObject, content.transform); var rowInfo = Instantiate(sampleObject, content.transform);
var usernameText = rowInfo.transform.GetChild(0).GetComponent<TMP_Text>(); var usernameText = rowInfo.transform.GetChild(1).GetComponent<TMP_Text>();
var playerIcon = rowInfo.transform.GetChild(1).GetComponent<Image>(); var playerIcon = rowInfo.transform.GetChild(2).GetComponent<Image>();
var playerOverlayIcon = playerIcon.transform.GetChild(0).GetComponent<Image>(); var playerOverlayIcon = playerIcon.transform.GetChild(0).GetComponent<Image>();
var messageText = rowInfo.transform.GetChild(2).GetComponent<TMP_Text>(); var messageText = rowInfo.transform.GetChild(3).GetComponent<TMP_Text>();
var optionsButton = rowInfo.transform.GetChild(4).GetComponent<Button>();
optionsButton.gameObject.SetActive(localUserId != null && uid == localUserId);
usernameText.text = username; usernameText.text = username;
messageText.text = chatContent; messageText.text = chatContent;
playerIcon.sprite = Resources.Load<Sprite>("Icons/Icons/bird_" + icon); playerIcon.sprite = Resources.Load<Sprite>("Icons/Icons/bird_" + icon);

View File

@@ -1,5 +1,6 @@
{ {
"dependencies": { "dependencies": {
"com.nobi.roundedcorners": "https://github.com/ReForge-Mode/Unity_UI_Rounded_Corners.git",
"com.unity.2d.animation": "12.0.2", "com.unity.2d.animation": "12.0.2",
"com.unity.2d.aseprite": "2.0.1", "com.unity.2d.aseprite": "2.0.1",
"com.unity.2d.psdimporter": "11.0.1", "com.unity.2d.psdimporter": "11.0.1",

View File

@@ -1,5 +1,12 @@
{ {
"dependencies": { "dependencies": {
"com.nobi.roundedcorners": {
"version": "https://github.com/ReForge-Mode/Unity_UI_Rounded_Corners.git",
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "0ae398b2cbc24ff46687389c38055a4054a0c63a"
},
"com.unity.2d.animation": { "com.unity.2d.animation": {
"version": "12.0.2", "version": "12.0.2",
"depth": 0, "depth": 0,