26.04.03 가상공장 화면 디자인 반영 • 좌측 도구 창, 상단 UI, 하단 UI • 생산 현황판, 알림 현황판 • 설비 라벨, 요약 팝업, 대시보드, 데이터 보드 • 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업 가상 공장 화면 디자인 변경에 따른 기능 추가 • 미니맵 드래그 및 위치 조정 기능 추가 • UI 상호 작용(호버링, 선택, 위치 이동, 재설정) • UI 기능 추가(상태 표시, 색상)
51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using System;
|
|
using AZTECHWB.Extensions;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace AZTECHWB.UI
|
|
{
|
|
public class SliderInputField : MonoBehaviour
|
|
{
|
|
private bool isUpdating = false;
|
|
|
|
public TextMeshProUGUI Value;
|
|
public Slider Slider;
|
|
|
|
public void SetSliderInputField()
|
|
{
|
|
transform.TryGetComponentInChildren(nameof(Value), out Value);
|
|
Slider = transform.GetComponentInChildren<Slider>(true);
|
|
|
|
Slider.onValueChanged.AddListener(OnSliderValueChanged);
|
|
}
|
|
|
|
public void SetText(string value)
|
|
{
|
|
if (isUpdating) return;
|
|
|
|
isUpdating = true;
|
|
Value.text = value;
|
|
if (float.TryParse(value, out float v))
|
|
Slider.SetValueWithoutNotify(v);
|
|
isUpdating = false;
|
|
}
|
|
|
|
void OnSliderValueChanged(float value)
|
|
{
|
|
if (isUpdating) return;
|
|
|
|
var newValue = Math.Truncate(value * 10f) / 10f;
|
|
isUpdating = true;
|
|
Value.text = newValue.ToString("0.#");
|
|
isUpdating = false;
|
|
}
|
|
|
|
public string GetValue()
|
|
{
|
|
return Value.text;
|
|
}
|
|
}
|
|
}
|