Add Delivery Manager UI and UI logic

This commit is contained in:
BuyMyMojo 2023-03-03 03:54:19 +11:00
parent 8c5f4f2acf
commit 3ec46256e8
89 changed files with 14001 additions and 12 deletions

View file

@ -0,0 +1,52 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DeliveryManagerUI : MonoBehaviour
{
[SerializeField] private Transform container;
[SerializeField] private Transform recipeTemplate;
private void Awake()
{
recipeTemplate.gameObject.SetActive(false);
}
private void Start()
{
UpdateVisual();
DeliveryManager.Instance.OnRecipeSpawned += DeliveryManager_OnRecipeSpawned;
DeliveryManager.Instance.OnRecipeCompleted += DeliveryManager_OnRecipeCompleted;
}
private void DeliveryManager_OnRecipeSpawned(object sender, System.EventArgs e)
{
UpdateVisual();
}
private void DeliveryManager_OnRecipeCompleted(object sender, System.EventArgs e)
{
UpdateVisual();
}
private void UpdateVisual()
{
foreach (Transform child in container)
{
if (child == recipeTemplate) continue;
Destroy(child.gameObject);
}
foreach (RecipeSO recipeSO in DeliveryManager.Instance.GetWaitingRecipeSOList())
{
Transform recipeTransform = Instantiate(recipeTemplate, container);
recipeTransform.GetComponent<DeliveryManagerSingleUI>().SetRecipeSO(recipeSO);
recipeTransform.gameObject.SetActive(true);
}
}
}