KitchenChaos/Assets/Scripts/UI/DeliveryResultUI.cs

45 lines
1.5 KiB
C#

using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class DeliveryResultUI : MonoBehaviour
{
private const string Popup = "Popup";
[SerializeField] private Image backgroundImage;
[SerializeField] private Image iconImage;
[SerializeField] private TextMeshProUGUI messageText;
[SerializeField] private Color successColor;
[SerializeField] private Color failedColor;
[SerializeField] private Sprite successSprite;
[SerializeField] private Sprite failedSprite;
private Animator animator;
private void Awake() => animator = GetComponent<Animator>();
private void Start()
{
DeliveryManager.Instance.OnRecipeSuccess += DeliveryManager_OnRecipeSuccess;
DeliveryManager.Instance.OnRecipeFailed += DeliveryManager_OnRecipeFailed;
gameObject.SetActive(false);
}
private void DeliveryManager_OnRecipeFailed(object sender, System.EventArgs e)
{
gameObject.SetActive(true);
animator.SetTrigger(Popup);
backgroundImage.color = failedColor;
iconImage.sprite = failedSprite;
messageText.text = $"Delivery\nfailed!\n-1";
}
private void DeliveryManager_OnRecipeSuccess(object sender, RecipeEventArgs e)
{
gameObject.SetActive(true);
animator.SetTrigger(Popup);
backgroundImage.color = successColor;
iconImage.sprite = successSprite;
messageText.text = $"{e.RecipeSO.RecipeName}\ndelivered!\n+{e.RecipeSO.Points}";
}
}