using System; using Sirenix.OdinInspector; using UnityEngine; namespace BlueWater.Uis { public class GameTimeUi : MonoBehaviour { [SerializeField] private Transform _handHour; private GameTimeManager _gameTimeManager; private TimeSpan _openTime; private TimeSpan _closeTime; private TimeSpan _currentTime; private void Awake() { _gameTimeManager = GameTimeManager.Instance; _openTime = _gameTimeManager.GetTycoonOpenTimeSpan(); _closeTime = _gameTimeManager.GetTycoonCloseTimeSpan(); } private void Start() { InitializeComponents(); } private void Update() { _currentTime = _gameTimeManager.GetCurrentGameTime(); var openTimeHours = (float)_openTime.TotalHours; var closeTimeHours = (float)_closeTime.TotalHours; var currentTimeHours = (float)_currentTime.TotalHours; var t = (currentTimeHours - openTimeHours) / (closeTimeHours - openTimeHours); var hourAngle = Mathf.Lerp(90f, -90f, t); _handHour.localRotation = Quaternion.Euler(0, 0, hourAngle); } [Button("컴포넌트 초기화")] private void InitializeComponents() { _handHour = transform.Find("Clock/HourHand"); } } }