75 lines
2.7 KiB
C#
75 lines
2.7 KiB
C#
|
|
using EasyInject.Attributes;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
/// <summary>
|
|
/// 输送线面板UI弹窗
|
|
/// </summary>
|
|
[GameObjectBean]
|
|
public sealed class ConveyorPopUI: AbstractPopUI
|
|
{
|
|
[Header("输送线")]
|
|
[Header("设备名称")]
|
|
public TMP_Text conveyor_deviceCode;
|
|
[Header("驱动名称")]
|
|
public TMP_Text conveyor_driverName;
|
|
[Header("在线状态")]
|
|
public TMP_Text conveyor_onlineStatus;
|
|
[Header("工作状态")]
|
|
public TMP_Text conveyor_wokingStatus;
|
|
[Header("当前指令")]
|
|
public TMP_Text conveyor_currentIns;
|
|
[Header("上个指令")]
|
|
public TMP_Text conveyor_lastIns;
|
|
[Header("当前托盘")]
|
|
public TMP_Text conveyor_currentContianer;
|
|
[Header("上个托盘")]
|
|
public TMP_Text conveyor_lastContainer;
|
|
[Header("业务异常消息")]
|
|
public TMP_Text conveyor_message;
|
|
[Header("系统异常消息")]
|
|
public TMP_Text conveyor_systemMessage;
|
|
|
|
private ConveyorData baseConveyorData;
|
|
private DeviceData baseDeviceData;
|
|
|
|
|
|
public override void Open(IDevice conveyor)
|
|
{
|
|
base.Open(conveyor);
|
|
ConveyorData conveyorData = conveyor.DynamicData<ConveyorData>();
|
|
DeviceData deviceData = conveyor.DeviceData;
|
|
conveyor_currentContianer.text = conveyorData.containerCode;
|
|
conveyor_lastContainer.text = conveyorData.lastContainerCode;
|
|
conveyor_currentIns.text = conveyorData.instructionCode;
|
|
conveyor_lastIns.text = conveyorData.lastInstructionCode;
|
|
conveyor_deviceCode.text = deviceData.deviceCode;
|
|
conveyor_onlineStatus.text = deviceData.isOnline ? "在线" : "离线";
|
|
conveyor_wokingStatus.text = deviceData.isWorking ? "工作中" : "待机";
|
|
conveyor.DataChange += DataChanageHandle;
|
|
this.baseConveyorData = conveyorData;
|
|
this.baseDeviceData = deviceData;
|
|
gameObject.SetActive(!gameObject.activeSelf);
|
|
|
|
rectTransform.transform.parent = conveyor.Transform;
|
|
rectTransform.localPosition = Vector3.zero + offset;
|
|
|
|
}
|
|
public override void DataChanageHandle(object data, object other)
|
|
{
|
|
ConveyorData currentData = (ConveyorData)data;
|
|
DeviceData currentDeviceData = (DeviceData)other;
|
|
if (this.baseDeviceData.deviceCode != currentData.deviceCode)
|
|
{
|
|
return;
|
|
}
|
|
conveyor_currentContianer.text = currentData.containerCode;
|
|
conveyor_lastContainer.text = currentData.lastContainerCode;
|
|
conveyor_currentIns.text = currentData.instructionCode;
|
|
conveyor_lastIns.text = currentData.lastInstructionCode;
|
|
conveyor_deviceCode.text = currentDeviceData.deviceCode;
|
|
conveyor_onlineStatus.text = currentDeviceData.isOnline ? "在线" : "离线";
|
|
conveyor_wokingStatus.text = currentDeviceData.isWorking ? "工作中" : "待机";
|
|
}
|
|
}
|