Files
ChunilENG/Assets/Scripts/PGD/Panel_Calendar.cs
2025-09-18 10:19:47 +09:00

64 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Globalization;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class Panel_Calendar : MonoBehaviour
{
public Button Button_StartDay;
public Button Button_EndDay;
public TextMeshProUGUI Text_StartDay;
public TextMeshProUGUI Text_EndDay;
public UI_Calendar ui_Calendar;
public string startDate;
public string endDate;
public Action<string, string, string> onDateData;
public override void AfterAwake()
{
ui_Calendar = transform.GetComponentInChildren<UI_Calendar>(true);
ui_Calendar.onSelectDate += SetDayData;
Button_StartDay.onClick.AddListener(OnClickStartDayBtn);
Button_EndDay.onClick.AddListener(OnClickEndDayBtn);
ui_Calendar.Close();
Text_StartDay.text = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
Text_EndDay.text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
}
public void Open()
{
gameObject.SetActive(true);
gameObject.transform.SetAsLastSibling();
}
public void Close()
{
ui_Calendar.Close();
gameObject.SetActive(false);
}
private void OnClickStartDayBtn()
{
ui_Calendar.Open(Text_StartDay);
}
private void OnClickEndDayBtn()
{
ui_Calendar.Open(Text_EndDay);
}
private void SetDayData(TextMeshProUGUI targetText)
{
startDate = Convert.ToDateTime(Text_StartDay.text).ToString("yyyyMMdd");
endDate = Convert.ToDateTime(Text_EndDay.text).ToString("yyyyMMdd");
if (!startDate.Equals(string.Empty) && !endDate.Equals(string.Empty))
{
DateTime.TryParseExact(startDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out var start);
DateTime.TryParseExact(endDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out var end);
}
}
}