YanCheng_Metrology/Assets/Scripts/Project/UI/UI_Panel/UI_CheckMyselfPanel.cs

66 lines
2.0 KiB
C#

using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class UI_CheckMyselfPanel : BasePanel
{
private HashSet<string> validToolNames = new HashSet<string> { "国网安全帽", "绝缘手套", "绝缘靴", "工作服" };
public RectTransform _content;
public UI_CheckMyselfItem ui_CheckMySelfItem;
public override void ShowMe()
{
base.ShowMe();
var currentBagDataForTool = GameManager.PacksackBagMgr.GetItemsByE_TMDType(E_ToolOrDeviceOrMaterials.Tool);
foreach (var item in currentBagDataForTool.Keys)
{
if (validToolNames.Contains(item))
{
UI_CheckMyselfItem cItem = Instantiate(ui_CheckMySelfItem, _content);
cItem.Init(currentBagDataForTool[item][0]);
}
}
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
{
GetControl<Button>("closeBtn").interactable = false;
GameManager.EventMgr.AddEventListener(Enum_EventType.WearState, OnWearState);
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, GameManager.ProcessMgr.subProcessStepTriggerID);
}
}
public override void HideMe()
{
base.HideMe();
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
{
GameManager.EventMgr.RemoveEventListener(Enum_EventType.WearState, OnWearState);
}
}
private void OnWearState()
{
if (PacksackBagMgr.Instance.IsWeared(validToolNames))
{
GameManager.UIMgr.imageTips.HideTips();
GameManager.UIMgr.HidePanel<UI_CheckMyselfPanel>();
}
}
protected override void OnClick(string btnName)
{
switch (btnName)
{
case "closeBtn":
GameManager.UIMgr.HidePanel<UI_CheckMyselfPanel>();
//GameManager.UIMgr.HidePanel<UI_CheckMyselfPanel>();
break;
default:
break;
}
}
}