48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
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");
|
|
}
|
|
}
|
|
} |