217 lines
8.8 KiB
C#
Raw Normal View History

2021-03-25 17:18:51 +08:00
using Assets.Scripts;
using Assets.Scripts.Apis;
2021-04-14 15:02:33 +08:00
using Assets.Scripts.Apis.Models;
using Assets.Scripts.UI.Control;
using DG.Tweening;
2021-03-25 16:55:36 +08:00
using System;
using System.Collections;
using System.Collections.Generic;
2021-04-14 15:02:33 +08:00
using System.Threading.Tasks;
2021-03-25 16:55:36 +08:00
using UnityEngine;
2021-03-29 09:10:59 +08:00
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
2021-03-25 16:55:36 +08:00
using UnityEngine.UI;
2021-03-30 14:23:41 +08:00
public class HomeController : PFUIPanel
2021-03-25 16:55:36 +08:00
{
2021-04-06 15:30:36 +08:00
//[SerializeField] Text Ftp;
//[SerializeField] RawImage Avatar;
//[SerializeField] Text Weight;
//[SerializeField] Text WKG;
//[SerializeField] Text Calories;
//[SerializeField] Text KM;
//[SerializeField] Text Climb;
//[SerializeField] Text NickName;
//[SerializeField] Button More;
[SerializeField] Button BtnRide;
2021-04-06 15:30:36 +08:00
[SerializeField] Transform userInfo;
Transform BtnMatch, BtnTraining;
private MainNav mainNav;
private Dictionary<string, Sprite[]> dict;
2021-03-25 16:55:36 +08:00
// Start is called before the first frame update
2021-03-30 14:23:41 +08:00
protected override void Start()
2021-03-25 16:55:36 +08:00
{
2021-03-30 14:23:41 +08:00
base.Start();
mainNav = this.transform.Find("MainNav").GetComponent<MainNav>();
mainNav.ShowExit();
var BtnContainer = transform.Find("MainFuncContainer");
2021-04-23 09:22:12 +08:00
UIManager.AddEvent(BtnRide.gameObject, EventTriggerType.PointerClick, GoRide);
2021-04-25 15:33:17 +08:00
UIManager.AddEvent(BtnRide.gameObject, EventTriggerType.PointerEnter, OnHover);
UIManager.AddEvent(BtnRide.gameObject, EventTriggerType.PointerExit, OnExit);
BtnMatch = BtnContainer.Find("BtnMatch");
//BtnMatch.GetComponent<Button>().onClick.AddListener(() =>
//{
// Debug.Log(45);
//});
UIManager.AddEvent(BtnMatch.gameObject, EventTriggerType.PointerEnter, OnHover);
UIManager.AddEvent(BtnMatch.gameObject, EventTriggerType.PointerExit, OnExit);
BtnTraining = BtnContainer.Find("BtnTraining");
UIManager.AddEvent(BtnTraining.gameObject, EventTriggerType.PointerEnter, OnHover);
UIManager.AddEvent(BtnTraining.gameObject, EventTriggerType.PointerExit, OnExit);
2021-04-14 15:02:33 +08:00
var avatar = userInfo.Find("Avatar").GetComponent<RawImage>();
var rect = ((RectTransform)avatar.transform).rect;
SetRounded(avatar.transform, rect.height);
2021-04-14 15:02:33 +08:00
2021-03-29 09:10:59 +08:00
UIManager.AddEvent(avatar.gameObject, EventTriggerType.PointerClick, x =>
2021-03-25 16:55:36 +08:00
{
2021-03-29 09:10:59 +08:00
UIManager.ShowUserInfoPanel();
});
2021-04-23 09:22:12 +08:00
2021-04-14 15:02:33 +08:00
UIManager.AddEvent(userInfo.Find("BtnMore").gameObject, EventTriggerType.PointerClick, x =>
{
2021-04-23 09:22:12 +08:00
UIManager.ShowUserInfoPanel();
//UIManager.ShowConfirm("Quit", "Do you want to quit PowerFun?", null);
2021-04-14 15:02:33 +08:00
});
//GetSummary();
dict = new Dictionary<string, Sprite[]>
{
{
"BtnMatch",new Sprite[]
{
Resources.Load<Sprite>("Images/home/Entrance - MATCH_soon"),
Resources.Load<Sprite>("Images/home/Entrance - MATCH_soon_hover"),
}
},
{
"BtnTraining",new Sprite[]
{
Resources.Load<Sprite>("Images/home/Entrance - TRAINING_soon"),
Resources.Load<Sprite>("Images/home/Entrance - TRAINING_soon_hover"),
}
},
};
2021-04-23 09:22:12 +08:00
}
private void GoRide(BaseEventData e)
{
//UIManager.ShowEarthPanel(App.latitude, App.longitude);
if (App.firstEnter == 0)
{
App.firstEnter = 1;
UIManager.ShowEarthPanel(App.latitude, App.longitude);
}
else
{
UIManager.ShowMapListPanel();
}
2021-04-25 15:33:17 +08:00
OnExit(e);
}
private void OnHover(BaseEventData e)
{
var pe = (PointerEventData)e;
var parent = pe.pointerEnter.transform.parent;
if (dict.ContainsKey(parent.name))
{
parent.Find("Image").GetComponent<Image>().sprite = dict[parent.name][1];
}
//parent.Find("Image").GetComponent<Image>().sprite = Resources.Load<Sprite>("Images/home/Entrance - ROUTES_hover");
//parent.Find("Text").GetComponent<Text>().color = Utils.HexToColorHtml("#ffffff");
parent.DOScale(new Vector3(1.05f, 1.05f, 0), 0.3f);
//parent.GetComponent<RectTransform>().localScale = ;
2021-04-25 15:33:17 +08:00
}
private void OnExit(BaseEventData e)
{
var pe = (PointerEventData)e;
var parent = pe.pointerEnter.transform.parent;
//parent.Find("Image").GetComponent<Image>().sprite = Resources.Load<Sprite>("Images/home/Entrance - ROUTES_nomal");
//parent.Find("Text").GetComponent<Text>().color = Utils.HexToColorHtml("#5C5C6E");
if (dict.ContainsKey(parent.name))
{
parent.Find("Image").GetComponent<Image>().sprite = dict[parent.name][0];
}
parent.DOScale(new Vector3(1f, 1f, 0), 0.3f);
//parent.GetComponent<RectTransform>().localScale = new Vector3(1f, 1f, 0);
}
2021-03-25 16:55:36 +08:00
void MoreFunc()
{
//Utils.showToast(gameObject, "更多信息", 1);
2021-04-23 09:22:12 +08:00
//DOTween.ToAlpha(() => )
2021-03-25 16:55:36 +08:00
}
2021-04-14 15:02:33 +08:00
void SetCurrentUser(SummaryResultModel summary)
2021-03-25 16:55:36 +08:00
{
userInfo.Find("NickName").GetComponent<Text>().text = App.CurrentUser.Nickname;
userInfo.Find("GroupTop").Find("FtpContainer").Find("FtpValue").GetComponent<Text>().text = App.CurrentUser.FTP.ToString();
2021-04-06 15:30:36 +08:00
userInfo.Find("GroupTop").Find("WeightContainer").Find("WeightValue").GetComponent<Text>().text = App.CurrentUser.Weight.ToString();
userInfo.Find("GroupTop").Find("WKGContainer").Find("WKGValue").GetComponent<Text>().text = $"{ (App.CurrentUser.FTP/ App.CurrentUser.Weight).ToString("0.0") }";
2021-04-23 09:22:12 +08:00
userInfo.Find("IDText").GetComponent<Text>().text = "ID:" + App.CurrentUser.Id.ToString("000000");
if (!string.IsNullOrWhiteSpace(App.CurrentUser.Unionid))
{
userInfo.Find("Wx").GetComponent<Image>().sprite = Resources.Load<Sprite>("Images/Wechat_person_1");
}
if (App.CurrentUser.Sex == 2)
{
userInfo.Find("SexIcon").GetComponent<Image>().sprite = Resources.Load<Sprite>("Images/woman");
}
2021-04-28 15:21:06 +08:00
else
{
userInfo.Find("SexIcon").GetComponent<Image>().sprite = Resources.Load<Sprite>("Images/man");
}
2021-04-28 18:41:54 +08:00
if (!string.IsNullOrEmpty(App.CurrentUser.WxHeadImg))
{
2021-05-08 14:38:23 +08:00
Utils.DisplayImage(userInfo.Find("Avatar").GetComponent<RawImage>(), App.CurrentUser.WxHeadImg);
2021-04-28 18:41:54 +08:00
}
else
{
userInfo.Find("Avatar").GetComponent<RawImage>().texture = Resources.Load<Texture>("Images/icon-1024");
}
2021-04-25 15:33:17 +08:00
userInfo.Find("Country").GetComponent<RawImage>().texture = UIManager.Instance.loginRegOptions.GetCountryImageByName(App.CurrentUser.Country);
2021-04-23 09:22:12 +08:00
userInfo.Find("CaloriesContainer").Find("CaloriesValue").GetComponent<Text>().text = double.Parse(summary.Kcal).ToString("0") +" KCAL";
2021-04-19 14:36:08 +08:00
userInfo.Find("KMContainer").Find("KMValue").GetComponent<Text>().text = summary.TotalDistance.ToString("0") +" KM";
userInfo.Find("ClimbContainer").Find("ClimbValue").GetComponent<Text>().text = summary.TotalClimb +" M";
2021-04-23 09:22:12 +08:00
userInfo.Find("GroupTop").Find("FtpContainer").Find("FtpTime").GetComponent<Text>().text = App.CurrentUser.LastUpdateFtpTime.ToString("yyyy.MM.dd");
userInfo.Find("GroupTop").Find("WeightContainer").Find("WeightTime").GetComponent<Text>().text = App.CurrentUser.LastUpdateWeightTime.ToString("yyyy.MM.dd");
2021-04-28 18:41:54 +08:00
userInfo.Find("GroupTop").Find("WKGContainer").Find("WKGTime").GetComponent<Text>().text =
DateTime.Compare(App.CurrentUser.LastUpdateFtpTime, App.CurrentUser.LastUpdateWeightTime)>0
? App.CurrentUser.LastUpdateFtpTime.ToString("yyyy.MM.dd")
: App.CurrentUser.LastUpdateWeightTime.ToString("yyyy.MM.dd");
2021-03-25 16:55:36 +08:00
}
2021-04-30 21:09:21 +08:00
async void GetSummary()
2021-03-25 16:55:36 +08:00
{
2021-04-30 21:09:21 +08:00
var res = await ConfigHelper.userApi.GetSummary();
2021-03-25 16:55:36 +08:00
if (res.result)
{
//App.CurrentUser.Distance = res.data.TotalDistance;
//App.CurrentUser.Climb = res.data.TotalClimb;
//App.CurrentUser.Carlories = res.data.Kcal;
2021-04-14 15:02:33 +08:00
SetCurrentUser(res.data);
2021-04-06 15:30:36 +08:00
//Climb.text = $"{res.data.TotalClimb.ToString()}M";
//Calories.text = $"{res.data.Kcal.ToString()}KCAL";
2021-03-25 16:55:36 +08:00
//Calories.text = res.data.
}
else
{
Utils.showToast(gameObject, res.errMsg);
}
//var res = await NoAuthApi.GetCurrentUser();
//if (res.result)
//{
// Global.CurrentUser = res.data;
// SetCurrentUser();
//}
//else
//{
// Utils.showToast(gameObject, res.errMsg);
//}
}
// Update is called once per frame
void Update()
{
}
2021-04-19 14:36:08 +08:00
public override void Show()
{
var cg = this.GetComponent<CanvasGroup>();
cg.alpha = 0;
2021-04-19 14:36:08 +08:00
base.Show();
2021-04-23 15:36:18 +08:00
cg.DOFade(1f, 0.3f);
GetSummary();
2021-04-19 14:36:08 +08:00
}
2021-03-25 16:55:36 +08:00
}