45 lines
1.5 KiB
C#
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}";
|
|
}
|
|
} |