using UnityEngine; using UnityEngine.UI; using QFramework; using ChivaXR; using UnityEngine.PlayerLoop; namespace QFramework { public class LogSystemFormData : UIPanelData { } public partial class LogSystemForm : UIPanel { protected override void OnInit(IUIData uiData = null) { mData = uiData as LogSystemFormData ?? new LogSystemFormData(); ScrollView.gameObject.SetActive(false); ProcessManagement.Instance.processElementDisActiveEvent += OnPrcessElementDisActive; } protected override void OnOpen(IUIData uiData = null) { } protected override void OnShow() { } protected override void OnHide() { ScrollView.gameObject.SetActive(false); } protected override void OnClose() { ProcessManagement.Instance.processElementDisActiveEvent -= OnPrcessElementDisActive; } public void SetLogState(bool state) { ScrollView.gameObject.SetActive(state); if (state) { SetTipPointState(false); } } public void AddCurrentStepLog(string logType) { StepListProxy tmpStepListProxy = DAL.Instance.Get(); OperationStepDataInfo tmpOperationStepDataInfo = tmpStepListProxy.GetOperationStepDataInfoById(ProcessManagement.Instance.currentStepID); AddLogItem(tmpOperationStepDataInfo, logType); if (ScrollView.gameObject.activeSelf) { SetTipPointState(false); }else { SetTipPointState(true); } } /// /// 添加日志 /// private void AddLogItem(OperationStepDataInfo operationStepDataInfo,string logType) { GameObject tmpObj = Instantiate(LogItem.gameObject, Content); LogItem tmpLogItem = tmpObj.GetComponent(); tmpLogItem.InitData(operationStepDataInfo, logType); tmpObj.SetActive(true); LayoutRebuilder.ForceRebuildLayoutImmediate(Content); ScrollView.verticalNormalizedPosition = 0; } private void OnPrcessElementDisActive(ProcessElement processElement) { AddCurrentStepLog("操作步骤"); } public void SetTipPointState(bool state) { PC_OperatePanel tmpOperatePanel = UIKit.GetPanel(); tmpOperatePanel.OperateStep.OperateLogBtn.transform.Find("TipPoint").gameObject.SetActive(state); } } }