Hover effect and make options button look better

This commit is contained in:
2025-08-23 13:57:42 -07:00
parent 1477b8e112
commit 62f4011341
4 changed files with 80 additions and 48 deletions

View File

@@ -649,46 +649,6 @@ 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
@@ -899,9 +859,9 @@ RectTransform:
- {fileID: 524691842}
m_Father: {fileID: 432996041}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -20, y: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -25, y: -25}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &452449951
@@ -923,7 +883,7 @@ MonoBehaviour:
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
@@ -944,7 +904,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 268195036}
m_OnClick:
m_PersistentCalls:
m_Calls: []
@@ -1755,7 +1715,7 @@ GameObject:
- component: {fileID: 1208331055}
- component: {fileID: 1208331057}
m_Layer: 5
m_Name: HoverColor
m_Name: BgColor
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1792,7 +1752,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 294848887}
m_Material: {fileID: 1525814889}
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}
@@ -2332,6 +2292,46 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1503131807}
m_CullTransparentMesh: 1
--- !u!21 &1525814889
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 &1645895618
GameObject:
m_ObjectHideFlags: 0

View File

@@ -216,13 +216,13 @@ public class ChatroomMenu : MonoBehaviour
}
var rowInfo = Instantiate(sampleObject, content.transform);
var bgImg = rowInfo.transform.GetChild(0).GetComponent<Image>();
var usernameText = rowInfo.transform.GetChild(1).GetComponent<TMP_Text>();
var playerIcon = rowInfo.transform.GetChild(2).GetComponent<Image>();
var playerOverlayIcon = playerIcon.transform.GetChild(0).GetComponent<Image>();
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;
messageText.text = chatContent;
playerIcon.sprite = Resources.Load<Sprite>("Icons/Icons/bird_" + icon);
@@ -258,6 +258,8 @@ public class ChatroomMenu : MonoBehaviour
playerOverlayIcon.color = Color.white;
}
rowInfo.name = "ChatroomRow_" + id + "_" + uid;
var entryComponet = rowInfo.AddComponent<ChatroomMenuEntry>();
entryComponet.Init(bgImg, optionsButton, localUserId != null && uid == localUserId);
rowInfo.SetActive(true);
}
break;

View File

@@ -0,0 +1,28 @@
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ChatroomMenuEntry : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {
private Image bgImg;
private Button optionsButton;
private bool isMadeBySelf = false;
public void Init(Image bgImgArg, Button optionsButtonArg, bool isMadeBySelfArg)
{
bgImg = bgImgArg;
optionsButton = optionsButtonArg;
isMadeBySelf = isMadeBySelfArg;
bgImg.color = new Color(50f / 255f, 50f / 255f, 50f / 255f);
optionsButton.gameObject.SetActive(false);
}
public void OnPointerEnter(PointerEventData e) {
bgImg.color = new Color(60f/255f, 60f/255f, 60f/255f);
optionsButton.gameObject.SetActive(isMadeBySelf);
}
public void OnPointerExit(PointerEventData e) {
bgImg.color = new Color(50f/255f, 50f/255f, 50f/255f);
optionsButton.gameObject.SetActive(false);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4020670dfda173ca8ab647ae867d943d