Files
2026-05-26 16:15:54 +08:00

83 lines
2.3 KiB
C#

using GameCore;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
public class common_tips : MonoBehaviour
{
static common_tips _instance;
static bool isShowing = false;
public static async Task<common_tips> Show()
{
await Awaiters.NextFrame;
await ShowInit();
if (_instance == null)
{
return null;
}
_instance.transform.SetAsLastSibling();
return _instance;
}
private static async Task ShowInit()
{
if (!isShowing)
{
GameObject loading = await UIManager.Instance.GetUIAsync(UITypes.common_tips);
if (loading != null)
{
_instance = loading.GetComponent<common_tips>();
}
}
_instance.gameObject.SetActive(true);
}
Button btn_close;
reward_tips reward_tips;
info_tips info_tips;
tips_base tips_base;
public int clickInstanceID { get; set; }
private void Awake()
{
btn_close = transform.Find("btn_close").GetComponent<Button>();
reward_tips = transform.Find("reward_tips").GetComponent<reward_tips>();
info_tips = transform.Find("info_tips").GetComponent<info_tips>();
}
private void Start()
{
btn_close.onClick.AddListener(OnClickClose);
}
private void OnDestroy()
{
isShowing = false;
}
public void OnClickClose()
{
if (tips_base)
{
tips_base.gameObject.SetActive(false);
}
UIManager.Instance.HideUI(UITypes.common_tips);
}
public void ShowRewardTips(int clickInstanceID, Vector3 pos, List<int> itemIds, List<string> itemDics)
{
info_tips.gameObject.SetActive(false);
tips_base = reward_tips;
reward_tips.gameObject.SetActive(true);
reward_tips.SetData(itemIds, itemDics);
reward_tips.SetContent(pos);
this.clickInstanceID = clickInstanceID;
}
public void ShowInfo(int clickInstanceID, Vector3 pos, cfg.Item item)
{
reward_tips.gameObject.SetActive(false);
tips_base = info_tips;
info_tips.gameObject.SetActive(true);
info_tips.SetData(item);
info_tips.SetContent(pos);
this.clickInstanceID = clickInstanceID;
}
}