64 lines
1.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|