Files
Dontback/Assets/Scripts/Dialog/ItemDialog.cs
Eicy 3a74806d8c 将物品交互弹窗的打开关闭逻辑修改以解决
关闭后因为按下E重新打开的问题
在关闭状态下无法再打开的问题

Signed-off-by: Eicy <im@crash.work>
2024-10-14 15:39:15 +08:00

46 lines
1.3 KiB
C#

using Event;
using Event.EventArgs;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Dialog
{
public class ItemDialog : MonoBehaviour
{
public RawImage itemIcon;
public TMP_Text itemName;
public TMP_Text itemDescription;
public GameObject panel;
private string _itemName;
private void OnEnable()
{
EventManager.Instance.ItemDialog+=DialogPop;
}
private void OnDisable()
{
EventManager.Instance.ItemDialog-=DialogPop;
}
private void DialogPop(ItemDialogArgs itemDialogArgs)
{
var itemText = DialogManager.Instance.GetItemText(itemDialogArgs.ItemName);
Debug.Log("ItemDialog");
if (itemText is null) return;
panel.SetActive(true);
itemIcon.texture = Resources.Load<Texture2D>("Item" + "/" + itemText.Name);
itemName.text = itemText.Name;
itemDescription.text = itemText.Description;
Time.timeScale = 0;
}
//todo
private void Update()
{
if ((!panel.activeSelf || !Input.GetKeyDown(KeyCode.Escape)) && Time.timeScale == 0 ) return;
Time.timeScale = 1;
panel.SetActive(false);
}
}
}