YanCheng_Metrology/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs

64 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class UI_SubProcessItem : BaseItem
{
public int processID;
public int subProcessID;
public int subProcessStepID;
public void Init(D_SubProcess d_SubProcess, int subProcessID)
{
this.processID = d_SubProcess.processId;
this.subProcessID = d_SubProcess.id;
this.subProcessStepID = d_SubProcess.subProcessStepes[0].id;
GetControl<TextMeshProUGUI>("subProcessItemName").text = d_SubProcess.subProcessName;
gameObject.name = subProcessID.ToString();
SwitchSubProcess(subProcessID);
ShowMe();
}
public override void ShowMe()
{
GameManager.EventMgr.AddEventListener<int>(Enum_EventType.SwitchSubProcess, SwitchSubProcess);
}
public override void HideMe()
{
GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcess, SwitchSubProcess);
}
/// <summary>
/// ¿ØÖư´Å¥×´Ì¬
/// </summary>
/// <param name="subProcess"></param>
private void SwitchSubProcess(int subProcess)
{
if (subProcessID == subProcess)
GetControl<Image>("learningTips").gameObject.SetActive(true);
else
GetControl<Image>("learningTips").gameObject.SetActive(false);
}
protected override void OnClick(string btnName)
{
base.OnClick(btnName);
switch (btnName)
{
case "subProcessBtn":
GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID);
//ÖØÖÃÎïÌå
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, subProcessID);
break;
}
}
private void OnDestroy()
{
GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcess, SwitchSubProcess);
}
}