83 lines
2.3 KiB
C#
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;
|
|
}
|
|
}
|