45 lines
970 B
C#
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);
|
||
|
}
|
||
|
}
|
||
|
}
|