powerfun-unity/Assets/Scenes/Ride/Scripts/PlayerController.cs

67 lines
2.2 KiB
C#
Raw Normal View History

2021-04-01 11:01:29 +08:00
using UnityEngine;
2021-03-23 16:07:31 +08:00
using Assets.Scripts.Apis.Models;
using System;
using Assets.Scripts.Apis;
using System.Linq;
using System.Collections.Generic;
2021-03-28 18:17:15 +08:00
using System.Globalization;
using Assets.Scenes.Ride.Scripts.Model;
using System.IO;
2021-03-22 19:20:51 +08:00
2021-03-23 16:07:31 +08:00
namespace Assets.Scenes.Ride.Scripts
2021-03-22 19:20:51 +08:00
{
2021-04-01 11:01:29 +08:00
public class PlayerController : AbstractPlayer
2021-03-22 19:20:51 +08:00
{
#region
2021-04-01 11:01:29 +08:00
protected override void Init()
{
base.Init();
}
/// <summary>
/// 计算数据,父类会在此方法后处理动画
/// </summary>
2021-04-01 11:01:29 +08:00
protected override void Compute()
{
//计算数据
//speed = mainController.UpDateSpeed();
heartRate = mainController.UpDateHeart()??0;
power = mainController.UpdatePower();
cadance = mainController.UpdateCadence();
power = 2000;//测试功率
2021-04-01 11:01:29 +08:00
speed = Helper.CalculateSpeed(elevation, currentSlope, power, weight, bicycleWeight);
distance = mainController.UpdateDistance(speed);
2021-04-01 11:01:29 +08:00
totalDistance += distance;
//记录骑行数据
var recordText = string.Format($"{ ticks },{ power.ToString(CultureInfo.InvariantCulture) },{ speed.ToString(CultureInfo.InvariantCulture) },{ Math.Round(totalDistance, 6).ToString(CultureInfo.InvariantCulture) },{ cadance.ToString(CultureInfo.InvariantCulture) },{ heartRate.ToString(CultureInfo.InvariantCulture) },{ Math.Round(nextlatlong.x, 6).ToString(CultureInfo.InvariantCulture) },{ Math.Round(nextlatlong.y, 6).ToString(CultureInfo.InvariantCulture) }");
2021-04-01 11:01:29 +08:00
Debug.Log(recordText);
#if !UNITY_EDITOR
var recorderData = cyclingExcutor.recorderData;
recorderData.RiderDatas.Add(new TargetData
{
Ticks = ticks,
_Power = power,
_Speed = speed,
_Distance = totalDistance> mapData.TotalDistance? mapData.TotalDistance: totalDistance,
_Cadence = cadance,
_HeartRate = heartRate,
_Lat = nextlatlong.x,
_Lon = nextlatlong.y
});
#endif
}
2021-04-01 11:01:29 +08:00
//上传数据
protected override void Upload()
{
#if !UNITY_EDITOR
cyclingExcutor.recorderData.IsCompleted = totalDistance == mapData.TotalDistance;
cyclingExcutor.recorderData.EndDistance = totalDistance;
cyclingExcutor.recorderData.SaveData(cyclingExcutor.Mode,null,string.Empty);
#endif
}
#endregion
}
}