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);
 | |
| 		}
 | |
| 	}
 | |
| }
 |