FM/Assets/Scripts/FUJIFILM/UI/Logic/ProductUI.cs

75 lines
2.0 KiB
C#

using System.Collections.Generic;
using UnityEngine.UI;
using TMPro;
using UnityEngine;
using ZGame;
namespace HK.FUJIFILM
{
public class ProductUI : UIBase
{
[SerializeField] private UpMenuItem goUpMenu;
[SerializeField] private Button btnIProducttem;
[SerializeField] private List<ProductScriptableObject> listProduct = new List<ProductScriptableObject>();
public override void OnInit()
{
base.OnInit();
#region AutoGen_Init
goUpMenu = GetValue<UpMenuItem>("goUpMenu");
btnIProducttem = GetValue<Button>("btnIProducttem");
btnIProducttem.onClick.AddListener(OnClickbtnIProducttem);
#endregion
foreach (var productScriptableObject in listProduct)
{
var go = GameObject.Instantiate(btnIProducttem.gameObject, btnIProducttem.transform.parent);
go.SetActive(true);
go.GetComponent<Image>().sprite = productScriptableObject.icon;
go.GetComponent<Button>().onClick.AddListener(() =>
{
OnClickbtnIProducttem(productScriptableObject);
});
}
goUpMenu.ReturnAction += ReturnCallback;
}
private void ReturnCallback()
{
}
private void OnClickbtnIProducttem(ProductScriptableObject product)
{
var uiOnly = UIManager.Instance.ShowUI(nameof(ProductDesginUI),this);
EventManager.Instance.FireNow(this, new ProductEventArgs(product));
}
#region AutoGen_Method
private void OnClickbtnIProducttem()
{
}
#endregion
public override void OnDispose()
{
base.OnDispose();
goUpMenu.ReturnAction -= ReturnCallback;
#region AutoGen_Dispose
btnIProducttem.onClick.RemoveListener(OnClickbtnIProducttem);
goUpMenu = null;
btnIProducttem = null;
#endregion
}
}
}