| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using JCUnityLib;
- public class HRB_PlanView : ViewBase, MenuBackInterface
- {
- InputField m_PlanWeightLoss_InputField;
- Text m_PlanWeightLoss_Text;
- void Start()
- {
- PersistenHandler.ins?.menuBackCtr.views.Add(this);
- transform.Find("BtnBack").GetComponent<Button>().onClick.AddListener(() => {
- AudioMgr.ins.PlayBtn();
- HRB_ViewMgr.Instance.DestroyView<HRB_PlanView>();
- });
- transform.Find("BtnReset").GetComponent<Button>().onClick.AddListener(() => {
- AudioMgr.ins.PlayBtn();
- PopupMgr.ins.ShowTip("重置成功~");
- HRB_UserInfo.current.lanWeightLoss = 0;
- HRB_UserInfo.current.planDateStart = DateTime.Now.ToString("yyyy-MM-dd");
- HRB_UserInfo.current.planDateEnd = DateTime.Now.AddDays(30).ToString("yyyy-MM-dd");
- HRB_UserInfo.current.SaveLocalData();
- RenderPlanWeightLoss();
- RenderPlanDateStart();
- RenderPlanDateEnd();
- RenderPlanDayCount();
- });
- InitPlanWeightLoss();
- RenderPlanDateStart();
- RenderPlanDateEnd();
- RenderPlanDayCount();
- }
- void OnDestroy()
- {
- PersistenHandler.ins?.menuBackCtr.views.Remove(this);
- }
-
- public bool OnMenuBack()
- {
- HRB_ViewMgr.Instance.DestroyView<HRB_PlanView>();
- return true;
- }
- void InitPlanWeightLoss()
- {
- m_PlanWeightLoss_InputField = transform.Find("PlanWeightLoss").GetComponent<InputField>();
- m_PlanWeightLoss_Text = m_PlanWeightLoss_InputField.transform.Find("Text").GetComponent<Text>();
- m_PlanWeightLoss_InputField.onEndEdit.AddListener((str) => {
- m_PlanWeightLoss_Text.gameObject.SetActive(true);
- m_PlanWeightLoss_InputField.text = "";
- float value = float.Parse(str);
- if (value >= 0 && value <= 300)
- {
- HRB_UserInfo.current.lanWeightLoss = float.Parse(value.ToString("#0.0"));
- HRB_UserInfo.current.SaveLocalData();
- RenderPlanWeightLoss();
- }
- else PopupMgr.ins.ShowTip("输入的值不在合理范围!");
- });
- m_PlanWeightLoss_InputField.GetComponent<InputFieldFocusListener>().onBeginFocus = () => {
- m_PlanWeightLoss_Text.gameObject.SetActive(false);
- m_PlanWeightLoss_InputField.text = HRB_UserInfo.current.lanWeightLoss.ToString("#0.0");
- };
- RenderPlanWeightLoss();
- }
- void RenderPlanWeightLoss()
- {
- string valStr = HRB_UserInfo.current.lanWeightLoss.ToString("#0.0");
- m_PlanWeightLoss_Text.text = $"计划减重 <size=68>{valStr}</size> kg";
- }
- [SerializeField] Text _planDateStartText;
- void RenderPlanDateStart()
- {
- string str = HRB_UserInfo.current.planDateStart;
- _planDateStartText.text = $"开始时间 <size=32>{str}</size>";
- }
- [SerializeField] Text _planDateEndText;
- void RenderPlanDateEnd()
- {
- string str = HRB_UserInfo.current.planDateEnd;
- _planDateEndText.text = $"结束时间 <size=32>{str}</size>";
- }
- [SerializeField] Text _planDayText;
- void RenderPlanDayCount()
- {
- var s = DateTime.Parse(HRB_UserInfo.current.planDateStart);
- var e = DateTime.Parse(HRB_UserInfo.current.planDateEnd);
- int days = e.Subtract(s).Days;
- if (days < 0) days = 0;
- _planDayText.text = $"计划总 <size=32>{days}</size> 天";
- }
- [SerializeField] GameObject datePickerPrefab;
- public void OpenDatePicker(int type) {
- AudioMgr.ins.PlayBtn();
- GameObject o = GameObject.Instantiate(datePickerPrefab);
- var picker = o.GetComponentInChildren<JC.Unity.Picker.DatePickerGroup>();
- if (type == 0) picker.selectDate = DateTime.Parse(HRB_UserInfo.current.planDateStart);
- if (type == 1) picker.selectDate = DateTime.Parse(HRB_UserInfo.current.planDateEnd);
- picker.maxDate = new DateTime(2050, 1, 1, 0, 0, 0);
- picker.onEnter += (JC.Unity.Picker.DatePickerGroup picker) => {
- string dateStr = picker.GetSelectDateStr();
- if (type == 0)
- {
- HRB_UserInfo.current.planDateStart = dateStr;
- HRB_UserInfo.current.SaveLocalData();
- RenderPlanDateStart();
- }
- else if (type == 1)
- {
- HRB_UserInfo.current.planDateEnd = dateStr;
- HRB_UserInfo.current.SaveLocalData();
- RenderPlanDateEnd();
- }
- RenderPlanDayCount();
- };
- }
- }
|