using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Kill.UI.Components { public class TimeSelection : MonoBehaviour { public NumPicker hourPicker; public NumPicker minutePicker; public Text timeText; public Button confirmButton; public Button cancelButton; Action onConfirm; int selectedHour; int selectedMinute; public void Init(int hour, int minute, Action onConfirm) { hourPicker.Init(hour, OnHourChange); minutePicker.Init(minute, OnMinuteChange); this.onConfirm = onConfirm; selectedHour = hour; selectedMinute = minute; confirmButton.onClick.RemoveAllListeners(); cancelButton.onClick.RemoveAllListeners(); confirmButton.onClick.AddListener(OnConfirmClick); cancelButton.onClick.AddListener(OnCancelClick); OnHourChange(hour); OnMinuteChange(minute); } private void OnHourChange(int hour) { selectedHour = hour; string hourStr=hour<10?"0"+hour:hour.ToString(); string minStr=selectedMinute<10?"0"+selectedMinute:selectedMinute.ToString(); timeText.text = $"{hourStr}:{minStr}"; } private void OnMinuteChange(int minute) { selectedMinute = minute; string minStr=minute<10?"0"+minute:minute.ToString(); string hourStr=selectedHour<10?"0"+selectedHour:selectedHour.ToString(); timeText.text = $"{hourStr}:{minStr}"; } private void OnConfirmClick() { onConfirm?.Invoke(selectedHour, selectedMinute); Destroy(gameObject); } private void OnCancelClick() { Destroy(gameObject); } } }