Properly color + round chatroom message entry

This commit is contained in:
2026-02-07 22:28:27 -07:00
parent 98f59eeaab
commit f1db4d83c2
4 changed files with 886 additions and 368 deletions

View File

@@ -130,13 +130,12 @@ public class ChatroomMenu : MonoBehaviour
var rowInfo = Instantiate(sampleObject, content.transform);
rowInfo.transform.SetSiblingIndex(content.transform.childCount - 1);
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 playerIconButton = rowInfo.transform.GetChild(2).GetComponent<Button>();
var usernameText = rowInfo.transform.GetChild(0).GetComponent<TMP_Text>();
var playerIcon = rowInfo.transform.GetChild(1).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>();
var playerIconButton = rowInfo.transform.GetChild(1).GetComponent<Button>();
var messageText = rowInfo.transform.GetChild(2).GetComponent<TMP_Text>();
var optionsButton = rowInfo.transform.GetChild(3).GetComponent<Button>();
usernameText.text = message.Username;
messageText.text = message.Content;
@@ -170,7 +169,7 @@ public class ChatroomMenu : MonoBehaviour
optionsButton.onClick.AddListener(() => OptionsButtonClick(message, localUserId ?? 0));
rowInfo.name = "ChatroomRow_" + message.ID;
var entryComponet = rowInfo.AddComponent<ChatroomMenuEntry>();
entryComponet.Init(bgImg, optionsButton);
entryComponet.Init(optionsButton);
rowInfo.SetActive(true);
return rowInfo;
}

View File

@@ -4,16 +4,14 @@ using UnityEngine.UI;
public class ChatroomMenuEntry : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
private Image bgImg;
private Button optionsButton;
private static ChatroomMenuEntry activeEntry;
public void Init(Image bgImgArg, Button optionsButtonArg)
public void Init(Button optionsButtonArg)
{
bgImg = bgImgArg;
optionsButton = optionsButtonArg;
var color = BazookaManager.Instance.GetColorSettingMenuBackground();
bgImg.color = new Color((((float)color[0]) + 26f) / 255f, (((float)color[1]) + 26f) / 255f, (((float)color[2]) + 26f) / 255f);
gameObject.GetComponent<Image>().color = new Color((((float)color[0]) + 24f) / 255f, (((float)color[1]) + 24f) / 255f, (((float)color[2]) + 24f) / 255f);
optionsButton.gameObject.SetActive(false);
}
@@ -74,14 +72,14 @@ public class ChatroomMenuEntry : MonoBehaviour, IPointerEnterHandler, IPointerEx
{
activeEntry = this;
var color = BazookaManager.Instance.GetColorSettingMenuBackground();
bgImg.color = new Color((((float)color[0]) + 36f) / 255f, (((float)color[1]) + 36f) / 255f, (((float)color[2]) + 36f) / 255f);
gameObject.GetComponent<Image>().color = new Color((((float)color[0]) + 36f) / 255f, (((float)color[1]) + 36f) / 255f, (((float)color[2]) + 36f) / 255f);
optionsButton.gameObject.SetActive(true);
}
private void Deactivate()
{
var color = BazookaManager.Instance.GetColorSettingMenuBackground();
bgImg.color = new Color((((float)color[0]) + 26f) / 255f, (((float)color[1]) + 26f) / 255f, (((float)color[2]) + 26f) / 255f);
gameObject.GetComponent<Image>().color = new Color((((float)color[0]) + 24f) / 255f, (((float)color[1]) + 24f) / 255f, (((float)color[2]) + 24f) / 255f);
optionsButton.gameObject.SetActive(false);
if (activeEntry == this) activeEntry = null;
}