Files
SAMKWANG/Assets/Scripts/Branch/UI/UI_WorkStatusItem.cs

68 lines
2.3 KiB
C#

using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Samkwang
{
public class UI_WorkStatusItem : MonoBehaviour
{
private TextMeshProUGUI groupcd;
private TextMeshProUGUI groupnm;
private TextMeshProUGUI mchcnt;
private TextMeshProUGUI planqty;
private TextMeshProUGUI workqty;
private TextMeshProUGUI goodqty;
private TextMeshProUGUI badqty;
private TextMeshProUGUI badrate;
private TextMeshProUGUI progressrate;
private Image background;
public void Init()
{
var textDict = transform.GetChildComponentsByName<TextMeshProUGUI>();
groupcd = textDict.GetOrNull(nameof(groupcd));
groupnm = textDict.GetOrNull(nameof(groupnm));
mchcnt = textDict.GetOrNull(nameof(mchcnt));
planqty = textDict.GetOrNull(nameof(planqty));
workqty = textDict.GetOrNull(nameof(workqty));
goodqty = textDict.GetOrNull(nameof(goodqty));
badqty = textDict.GetOrNull(nameof(badqty));
badrate = textDict.GetOrNull(nameof(badrate));
progressrate = textDict.GetOrNull(nameof(progressrate));
background = GetComponent<Image>();
}
public void SetStatusData(WorkShopInfo workshopInfo, Color color)
{
groupcd.SetText(workshopInfo.groupcd);
groupnm.SetText(workshopInfo.groupnm);
mchcnt.SetText(workshopInfo.mchcnt);
planqty.SetText(FormatWithComma(workshopInfo.planqty));
workqty.SetText(FormatWithComma(workshopInfo.workqty));
goodqty.SetText(FormatWithComma(workshopInfo.goodqty));
badqty.SetText(FormatWithComma(workshopInfo.badqty));
badrate.SetText(workshopInfo.badrate);
progressrate.SetText(workshopInfo.progressrate);
background.color = color;
}
/// <summary>
/// 문자열 숫자를 받아 천 단위 컴마가 포함된 문자열로 반환
/// </summary>
private string FormatWithComma(string data, string format = "N0")
{
if (string.IsNullOrEmpty(data)) return "0";
if (float.TryParse(data, out float result))
{
return result.ToString(format);
}
return data;
}
}
}