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("subProcessItemName").text = d_SubProcess.subProcessName; gameObject.name = subProcessID.ToString(); SwitchSubProcess(subProcessID); ShowMe(); } public override void ShowMe() { GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } public override void HideMe() { GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } /// /// 控制按钮状态 /// /// private void SwitchSubProcess(int subProcess) { if (subProcessID == subProcess) GetControl("learningTips").gameObject.SetActive(true); else GetControl("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(Enum_EventType.SwitchSubProcess, subProcessID); GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName[0]); break; } } private void OnDestroy() { GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } }