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; } } }