66 lines
2.0 KiB
C#
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;
|
|
}
|
|
}
|
|
} |