using EasyInject.Attributes;
using TMPro;
using UnityEngine;
///
/// 输送线面板UI弹窗
///
[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();
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 ? "工作中" : "待机";
}
}