2021-04-22 19:29:59 +08:00
|
|
|
|
using Assets.Scenes.Ride.Scripts.Model;
|
|
|
|
|
|
using Assets.Scripts;
|
|
|
|
|
|
using Assets.Scripts.Apis.Models;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System;
|
2021-04-23 09:37:41 +08:00
|
|
|
|
using UnityEngine.EventSystems;
|
|
|
|
|
|
using UnityEngine.SceneManagement;
|
2021-04-22 19:29:59 +08:00
|
|
|
|
|
|
|
|
|
|
namespace Assets.Scenes.Ride.Scripts
|
|
|
|
|
|
{
|
|
|
|
|
|
public class ResultPanelScript:MonoBehaviour
|
|
|
|
|
|
{
|
|
|
|
|
|
#region 路书信息
|
|
|
|
|
|
Text date;
|
|
|
|
|
|
Text time;
|
|
|
|
|
|
Text level;
|
|
|
|
|
|
Text mapName;
|
|
|
|
|
|
Text distance;
|
|
|
|
|
|
RawImage country;
|
|
|
|
|
|
RawImage altudeGraph;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 骑行结果
|
|
|
|
|
|
Text rideTime;
|
|
|
|
|
|
Text rideDistance;
|
|
|
|
|
|
Text totalClimbed;
|
|
|
|
|
|
Text wkgText;
|
|
|
|
|
|
Text avCadence;
|
|
|
|
|
|
Text avHeatrate;
|
|
|
|
|
|
Text maxPower;
|
|
|
|
|
|
Text avPower;
|
|
|
|
|
|
Text maxSpeed;
|
|
|
|
|
|
Text avSpeed;
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
2021-04-23 09:37:41 +08:00
|
|
|
|
#region 功能按钮
|
|
|
|
|
|
GameObject goResultBtn;
|
|
|
|
|
|
GameObject cancelBtn;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
2021-04-22 19:29:59 +08:00
|
|
|
|
CyclingController cyclingController;
|
|
|
|
|
|
private void Awake()
|
|
|
|
|
|
{
|
|
|
|
|
|
#region 路书信息
|
|
|
|
|
|
date = transform.Find("MapPanel/Date").GetComponent<Text>();
|
|
|
|
|
|
time = transform.Find("MapPanel/Timer").GetComponent<Text>();
|
|
|
|
|
|
level = transform.Find("MapPanel/Level/Text").GetComponent<Text>();
|
|
|
|
|
|
mapName = transform.Find("MapPanel/MapName").GetComponent<Text>();
|
|
|
|
|
|
distance = transform.Find("MapPanel/Distance").GetComponent<Text>();
|
|
|
|
|
|
country = transform.Find("MapPanel/Country").GetComponent<RawImage>();
|
|
|
|
|
|
altudeGraph = transform.Find("MapPanel/AltudeGraph").GetComponent<RawImage>();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 骑行记录
|
|
|
|
|
|
rideTime = transform.Find("TimePanel/Timer").GetComponent<Text>();
|
|
|
|
|
|
rideDistance = transform.Find("DistancePanel/Distance").GetComponent<Text>();
|
|
|
|
|
|
totalClimbed = transform.Find("FitPanel/TotalClimbedView/Value").GetComponent<Text>();
|
|
|
|
|
|
wkgText = transform.Find("FitPanel/FTPView/Value").GetComponent<Text>();
|
|
|
|
|
|
avCadence = transform.Find("FitPanel/CadenceView/Value").GetComponent<Text>();
|
|
|
|
|
|
avHeatrate = transform.Find("FitPanel/HeartView/Value").GetComponent<Text>();
|
|
|
|
|
|
maxPower = transform.Find("FitPanel/MaxPowerView/Value").GetComponent<Text>();
|
|
|
|
|
|
avPower = transform.Find("FitPanel/AveragePowerView/Value").GetComponent<Text>();
|
|
|
|
|
|
maxSpeed = transform.Find("FitPanel/MaxSpeedView/Value").GetComponent<Text>();
|
|
|
|
|
|
avSpeed = transform.Find("FitPanel/AverageSpeed/Value").GetComponent<Text>();
|
|
|
|
|
|
#endregion
|
2021-04-23 09:37:41 +08:00
|
|
|
|
goResultBtn = transform.Find("ConFirmButton").gameObject;
|
|
|
|
|
|
cancelBtn = transform.Find("CloseButton").gameObject;
|
2021-04-22 19:29:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void InjectController(CyclingController controller)
|
|
|
|
|
|
{
|
|
|
|
|
|
cyclingController = controller;
|
2021-04-23 09:37:41 +08:00
|
|
|
|
cyclingController.AddEvent(goResultBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, GoResult);
|
|
|
|
|
|
cyclingController.AddEvent(cancelBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, Cancel);
|
2021-04-22 19:29:59 +08:00
|
|
|
|
}
|
2021-04-23 09:37:41 +08:00
|
|
|
|
private void GoResult(BaseEventData baseEventData)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (App.MainSceneParam.ContainsKey("Name"))
|
|
|
|
|
|
{
|
|
|
|
|
|
App.MainSceneParam["Name"] = "UserInfoPanel";
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
App.MainSceneParam.Add("Name", "UserInfoPanel");
|
|
|
|
|
|
}
|
|
|
|
|
|
SceneManager.LoadScene("MainScene");
|
2021-04-22 19:29:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2021-04-23 09:37:41 +08:00
|
|
|
|
private void Cancel(BaseEventData baseEventData)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (App.MainSceneParam.ContainsKey("Name"))
|
|
|
|
|
|
{
|
|
|
|
|
|
App.MainSceneParam["Name"] = "MapListPanel";
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
App.MainSceneParam.Add("Name", "MapListPanel");
|
|
|
|
|
|
}
|
|
|
|
|
|
SceneManager.LoadScene("MainScene");
|
|
|
|
|
|
}
|
2021-04-22 19:29:59 +08:00
|
|
|
|
public void SetDataSource(RecorderDataModel record)
|
|
|
|
|
|
{
|
|
|
|
|
|
var route = record.CurrentRoute.RouteInstance;
|
|
|
|
|
|
//绑定路书信息
|
|
|
|
|
|
var dateString = record.StartTime.ToString();
|
|
|
|
|
|
date.text = dateString.Split(' ')[0];
|
|
|
|
|
|
time.text = dateString.Split(' ')[1];
|
|
|
|
|
|
level.text = route.Hard;
|
|
|
|
|
|
mapName.text = route.Name;
|
|
|
|
|
|
distance.text = route.Distance.ToString("f1")+"KM";
|
|
|
|
|
|
country.texture = cyclingController.GetCountryImageByCode(route.CountryCode);
|
|
|
|
|
|
Utils.DisplayImage(StartCoroutine, altudeGraph, route.AltitudeGraph);
|
|
|
|
|
|
//绑定骑行记录结果
|
|
|
|
|
|
rideTime.text = Helper.FormatTicks(record.RiderDatas.Count);
|
|
|
|
|
|
rideDistance.text = record.RiderDatas.Last()._Distance.ToString("f1")+"KM";
|
|
|
|
|
|
totalClimbed.text = record.RiderDatas.Last()._TotalClimb.ToString("f1");
|
|
|
|
|
|
var power = Math.Round(record.RiderDatas.Average(c => c._Power),0);
|
|
|
|
|
|
avPower.text = power.ToString();
|
2021-04-30 17:25:28 +08:00
|
|
|
|
maxPower.text = record.RiderDatas.Max(c => c._Power).ToString("f0");
|
|
|
|
|
|
avHeatrate.text = record.RiderDatas.Average(c => c._HeartRate.GetValueOrDefault(0)).ToString("f0");
|
2021-04-22 19:29:59 +08:00
|
|
|
|
avSpeed.text = record.RiderDatas.Average(c => c._Speed).ToString("f1");
|
|
|
|
|
|
maxSpeed.text = record.RiderDatas.Max(c => c._Speed).ToString("f1");
|
|
|
|
|
|
wkgText.text = Math.Round(power / record.CurrentUser.Weight,2).ToString();
|
2021-04-30 17:25:28 +08:00
|
|
|
|
avCadence.text = record.RiderDatas.Average(c => c._Cadence).GetValueOrDefault(0).ToString("f0");
|
2021-04-22 19:29:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|