설비 KPI UI 기능 및 디자인 수정
This commit is contained in:
@@ -153,6 +153,9 @@ namespace CHN
|
||||
if (!rectB.gameObject.activeSelf)
|
||||
return false;
|
||||
|
||||
if (!rectA.gameObject.activeSelf)
|
||||
return false;
|
||||
|
||||
Rect rectAWorld = GetWorldRect(rectA);
|
||||
Rect rectBWorld = GetWorldRect(rectB);
|
||||
|
||||
@@ -186,11 +189,9 @@ namespace CHN
|
||||
var layerMask = LayerMask.GetMask("Camera", "Floor Wall");
|
||||
var currentFloor = FindSingle<Building>().currentFloor;
|
||||
|
||||
var max = cam.option.maxDistance - cam.option.minDistance;
|
||||
var distance = cam.option.currentDistance;
|
||||
var distanceScale = (max - distance) / max;
|
||||
distanceScale *= scaleClamp;
|
||||
distanceScale = Mathf.Clamp(distanceScale, minScale, maxScale);
|
||||
float t = Mathf.InverseLerp(cam.option.maxDistance, 0f, cam.option.currentDistance);
|
||||
float scale = Mathf.Lerp(minScale, maxScale, t);
|
||||
var newScale = new Vector3(scale, scale, scale);
|
||||
|
||||
foreach (var machine in matchingMachines)
|
||||
{
|
||||
@@ -202,7 +203,7 @@ namespace CHN
|
||||
|
||||
MachineKPIsActive(machine, layerMask);
|
||||
var machineKPI = machine.machineKPI;
|
||||
machineKPI.transform.localScale = originScale * distanceScale;
|
||||
machineKPI.transform.localScale = newScale;
|
||||
}
|
||||
}
|
||||
bool IsScreenRange(Machine machine)
|
||||
|
||||
@@ -8,42 +8,37 @@ using WI;
|
||||
using System;
|
||||
using static MQTT;
|
||||
using CHN;
|
||||
using System.Globalization;
|
||||
|
||||
public class UI_MachineKPI : UIBase, IPointerClickHandler
|
||||
{
|
||||
public SimpleField data;
|
||||
public CompleteInfo completeInfoData;
|
||||
public RectTransform DefaultKPI;
|
||||
public RectTransform DetailsKPI;
|
||||
|
||||
private TextMeshProUGUI Default_machineName;
|
||||
private TextMeshProUGUI Details_machineName;
|
||||
private TextMeshProUGUI Default_eorate;
|
||||
private TextMeshProUGUI Details_eorate;
|
||||
private TextMeshProUGUI MachineName;
|
||||
private TextMeshProUGUI eorate;
|
||||
private TextMeshProUGUI daynight;
|
||||
private TextMeshProUGUI workcd;
|
||||
private TextMeshProUGUI porate;
|
||||
private TextMeshProUGUI goodqtyrate;
|
||||
private TextMeshProUGUI workdt;
|
||||
|
||||
public bool isExpand;
|
||||
private float eorate;
|
||||
public string secondaryFontName = "PretendardVariable SDF";
|
||||
|
||||
public Action<UI_MachineKPI> onClickKPI;
|
||||
|
||||
public void SetData(SimpleField data)
|
||||
{
|
||||
this.data = data;
|
||||
SetKPIData(data.kpiDataInfo);
|
||||
SetMQTTData(data.machineInfo);
|
||||
|
||||
DetailsKPI.gameObject.SetActive(false);
|
||||
}
|
||||
private void SetKPIData(UsageKPIData kpiData)
|
||||
{
|
||||
eorate = DecimalPointCalculate(data.kpiDataInfo.eorate);
|
||||
Default_eorate.SetText(eorate.ToString() + "%");
|
||||
Details_eorate.SetText(eorate.ToString() + "%");
|
||||
eorate.SetText(DecimalPointCalculate(data.kpiDataInfo.eorate).ToString() + "%");
|
||||
daynight.SetText(data.machineInfo.daynight);
|
||||
workcd.SetText(data.machineInfo.workcd);
|
||||
goodqtyrate.SetText(DecimalPointCalculate(data.kpiDataInfo.goodqtyrate).ToString() + "%");
|
||||
porate.SetText(DecimalPointCalculate(data.kpiDataInfo.porate).ToString() +"%");
|
||||
|
||||
goodqtyrate.SetText(DecimalPointCalculate(data.kpiDataInfo.goodqtyrate).ToString());
|
||||
porate.SetText(DecimalPointCalculate(data.kpiDataInfo.porate).ToString());
|
||||
var workdate = CorrectionTime(data.machineInfo.workdt, "yyyy-MM-dd");
|
||||
MachineName.SetText(ApplyDualFont(data.machineInfo.worknm, workdate, secondaryFontName));
|
||||
}
|
||||
private bool CheckDataExists(string value)
|
||||
{
|
||||
@@ -53,11 +48,6 @@ public class UI_MachineKPI : UIBase, IPointerClickHandler
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public void SetMQTTData(UsageMQTTData mqttData)
|
||||
{
|
||||
Default_machineName.SetText(mqttData.worknm);
|
||||
Details_machineName.SetText(mqttData.worknm);
|
||||
}
|
||||
private float DecimalPointCalculate(string value)
|
||||
{
|
||||
if (!CheckDataExists(value))
|
||||
@@ -70,6 +60,19 @@ public class UI_MachineKPI : UIBase, IPointerClickHandler
|
||||
|
||||
return floatValue;
|
||||
}
|
||||
private string CorrectionTime(string value, string dateForm)
|
||||
{
|
||||
DateTime.TryParseExact(value, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out var parsedDate);
|
||||
|
||||
return parsedDate.ToString(dateForm);
|
||||
}
|
||||
string ApplyDualFont(string originText, string addText, string fontName)
|
||||
{
|
||||
string result = originText;
|
||||
|
||||
result += $"<font=\"{fontName}\"><size=\"10f\">({addText})</size></font>";
|
||||
return result;
|
||||
}
|
||||
public void OnPointerClick(PointerEventData eventData)
|
||||
{
|
||||
onClickKPI?.Invoke(this);
|
||||
@@ -81,8 +84,6 @@ public class UI_MachineKPI : UIBase, IPointerClickHandler
|
||||
}
|
||||
public void Deactive()
|
||||
{
|
||||
DefaultKPI.gameObject.SetActive(true);
|
||||
DetailsKPI.gameObject.SetActive(false);
|
||||
isExpand = false;
|
||||
|
||||
gameObject.SetActive(false);
|
||||
|
||||
Reference in New Issue
Block a user