2025-09-24 11:24:38 +05:00

45 lines
970 B
C#

using UnityEngine;
namespace TPSBR.UI
{
public class UIAnnouncementsView : UIView
{
// PRIVATE MEMBERS
[SerializeField]
private UIBehaviour _importantAnnouncement;
[SerializeField]
private UIBehaviour _killAnnouncement;
// UIView INTERFACE
protected override void OnOpen()
{
Context.Announcer.Announce += OnAnnounce;
_importantAnnouncement.SetActive(false);
_killAnnouncement.SetActive(false);
}
protected override void OnClose()
{
Context.Announcer.Announce -= OnAnnounce;
}
// PRIVATE METHODS
private void OnAnnounce(AnnouncementData announcement)
{
if (announcement.TextMessage.HasValue() == false)
return;
var item = announcement.Channel == EAnnouncementChannel.KillsDone ? _killAnnouncement : _importantAnnouncement;
item.gameObject.SetActive(false);
item.Text.text = announcement.TextMessage;
item.Text.color = announcement.Color;
item.gameObject.SetActive(true);
}
}
}