4.29计算逻辑修改

This commit is contained in:
CaiYanPeng 2022-04-29 18:32:04 +08:00
parent 3c4ecf3e83
commit cfa1cc4f7b
7 changed files with 45 additions and 25 deletions

View File

@ -344,7 +344,7 @@
"Stroke to continue the workout.": "请拉动手柄继续训练!", "Stroke to continue the workout.": "请拉动手柄继续训练!",
"Just Row": "自由划", "Just Row": "自由划",
"GO": "开始", "GO": "开始",
"Speed/500m": "500M配速", "Speed/500m": "/500M",
"Share to": "分享到", "Share to": "分享到",
"VIEW MORE": "查看更多", "VIEW MORE": "查看更多",
"DEFINE": "确定", "DEFINE": "确定",
@ -702,7 +702,7 @@
"Stroke to continue the workout.": "Stroke to continue the workout.", "Stroke to continue the workout.": "Stroke to continue the workout.",
"Just Row": "Just Row", "Just Row": "Just Row",
"GO": "GO", "GO": "GO",
"Speed/500m": "Speed/500M", "Speed/500m": "Pace",
"Share to": "Share to", "Share to": "Share to",
"VIEW MORE": "VIEW MORE", "VIEW MORE": "VIEW MORE",
"DEFINE": "DEFINE", "DEFINE": "DEFINE",

View File

@ -86,7 +86,7 @@ namespace Assets.Scripts.Apis.Models
{ {
public string Id { get; set; } public string Id { get; set; }
public int UserId { get; set; } public int UserId { get; set; }
public int Time { get; set; } public double Time { get; set; }
public int TotalDistance { get; set; } public int TotalDistance { get; set; }
public string NickName { get; set; } public string NickName { get; set; }
public string WxHeadImg { get; set; } public string WxHeadImg { get; set; }

View File

@ -223,17 +223,17 @@ public static class App
InitLanguage(); InitLanguage();
#if !UNITY_EDITOR #if !UNITY_EDITOR
//测试服务器 Host = "http://192.168.0.101:5083/"; //测试服务器 Host = "http://192.168.0.101:5083/";
Host = "http://pf.juze.pro/"; //Host = "http://pf.juze.pro/";
UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21000); //UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21000);
TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21001); //TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21001);
//线上 //线上
//Host = "https://wx.powerfun.com.cn/"; //Host = "https://wx.powerfun.com.cn/";
//UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11000); //UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11000);
//TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11001); //TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11001);
//本地 //本地
//Host = "http://192.168.0.101:5087/"; Host = "http://192.168.0.101:5087/";
//UdpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.97"), 11000); UdpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.97"), 11000);
//TcpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.102"), 21001); TcpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.102"), 21001);
Debug.unityLogger.logEnabled = false; Debug.unityLogger.logEnabled = false;
#else #else
//Host = "http://pf.juze.pro/"; //Host = "http://pf.juze.pro/";

View File

@ -93,7 +93,8 @@ public class RowerHomeScript : PFUIPanel
public Dictionary<object, Sprite> spriteDict,spriteDict2; public Dictionary<object, Sprite> spriteDict,spriteDict2;
List<string> records; List<string> records;
List<TempRowerCalc> values; List<TempRowerCalc> values;
DateTime startTime,createTime; DateTime startTime;
DateTime? createTime;
double Kj = 0; double Kj = 0;
int seconds = 0; int seconds = 0;
bool isPause = false; bool isPause = false;
@ -371,8 +372,8 @@ public class RowerHomeScript : PFUIPanel
{ {
if (SaveFunc(tempRecordData.model, tempRecordData.files)) Init(); if (SaveFunc(tempRecordData.model, tempRecordData.files)) Init();
} }
}; };
createTime = UIManager.Now.GetDateTime();
if (C2RowerData.IsEnabled == true) if (C2RowerData.IsEnabled == true)
{ {
Utils.showToast(null, "Press \"Menu\" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: f); Utils.showToast(null, "Press \"Menu\" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: f);
@ -447,6 +448,7 @@ public class RowerHomeScript : PFUIPanel
//StartCoroutine(); //StartCoroutine();
} }
int truelyTime = 0;
private void StartFunc() private void StartFunc()
{ {
if (transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)") && transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)").gameObject.activeInHierarchy) if (transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)") && transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)").gameObject.activeInHierarchy)
@ -461,10 +463,13 @@ public class RowerHomeScript : PFUIPanel
} }
if (!isPause) if (!isPause)
{ {
startTime = UIManager.Now.GetDateTime();
} }
if (!openTimer) if (!openTimer)
{ {
startTime = UIManager.Now.GetDateTime();
createTime = null;
truelyTime = 0;
TimerTicks(); TimerTicks();
openTimer = true; openTimer = true;
timer = 1.0f; timer = 1.0f;
@ -511,7 +516,6 @@ public class RowerHomeScript : PFUIPanel
TempRecordData tempRecordData; TempRecordData tempRecordData;
private bool Save() private bool Save()
{ {
createTime = UIManager.Now.GetDateTime();
var bleDevice = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => (d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && d.Sensor == SensorType.Rower) as BleDevice; var bleDevice = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => (d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && d.Sensor == SensorType.Rower) as BleDevice;
RowerRecordModel model = new RowerRecordModel(); RowerRecordModel model = new RowerRecordModel();
model.Ticks = records.Count; model.Ticks = records.Count;
@ -524,7 +528,7 @@ public class RowerHomeScript : PFUIPanel
model.Weight = App.CurrentUser.Weight; model.Weight = App.CurrentUser.Weight;
model.Kj = RowerData.TotalEnergy; model.Kj = RowerData.TotalEnergy;
model.StartTime = startTime; model.StartTime = startTime;
model.CreateTime = createTime; model.CreateTime = createTime.Value;
Debug.Log(values.Count); Debug.Log(values.Count);
if (values.Count > 0) if (values.Count > 0)
{ {
@ -725,6 +729,7 @@ public class RowerHomeScript : PFUIPanel
var strokeCount = RowerData.StrokeCount; var strokeCount = RowerData.StrokeCount;
var power = RowerData.InstantaneousPower; var power = RowerData.InstantaneousPower;
var rate = RowerData.StrokeRate; var rate = RowerData.StrokeRate;
truelyTime++;
TempRowerCalc tmpdata = null; TempRowerCalc tmpdata = null;
//里程停止逻辑 //里程停止逻辑
@ -750,7 +755,7 @@ public class RowerHomeScript : PFUIPanel
var remainTime = rowerType.value - (++seconds); var remainTime = rowerType.value - (++seconds);
if (remainTime == 0) if (remainTime == 0)
{ {
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},0,0,0,{RowerData.ResistanceLevel},{heartRate},{energy}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},0,0,0,{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = 0, power = 0, rate = 0, heartRate = heartRate, distance = distance, energy = energy }; tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = 0, power = 0, rate = 0, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata); values.Add(tmpdata);
SendDataToRace(tmpdata); SendDataToRace(tmpdata);
@ -768,7 +773,7 @@ public class RowerHomeScript : PFUIPanel
bottom.Find("500/Value").GetComponent<Text>().text = "---"; bottom.Find("500/Value").GetComponent<Text>().text = "---";
bottom.Find("MS/Value").GetComponent<Text>().text = "---"; bottom.Find("MS/Value").GetComponent<Text>().text = "---";
bottom.Find("Expected/Value").GetComponent<Text>().text = "---"; bottom.Find("Expected/Value").GetComponent<Text>().text = "---";
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},0,0,0,{RowerData.ResistanceLevel},{heartRate},{energy}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},0,0,0,{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = 0, power = 0, rate = 0, heartRate = heartRate, distance = distance, energy = energy }; tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = 0, power = 0, rate = 0, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata); values.Add(tmpdata);
SendDataToRace(tmpdata); SendDataToRace(tmpdata);
@ -825,7 +830,7 @@ public class RowerHomeScript : PFUIPanel
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(remainTime).ToPFString(); bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(remainTime).ToPFString();
if (remainTime == 0) if (remainTime == 0)
{ {
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy }; tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata); values.Add(tmpdata);
SendDataToRace(tmpdata); SendDataToRace(tmpdata);
@ -843,7 +848,7 @@ public class RowerHomeScript : PFUIPanel
if (remainDistance <= 0) if (remainDistance <= 0)
{ {
bottom.Find("KM/Value").GetComponent<Text>().text = "0"; bottom.Find("KM/Value").GetComponent<Text>().text = "0";
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy }; tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata); values.Add(tmpdata);
SendDataToRace(tmpdata); SendDataToRace(tmpdata);
@ -857,7 +862,7 @@ public class RowerHomeScript : PFUIPanel
bottom.Find("KM/Value").GetComponent<Text>().text = totalDistance.ToString(); bottom.Find("KM/Value").GetComponent<Text>().text = totalDistance.ToString();
} }
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy }; tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata); values.Add(tmpdata);
SendDataToRace(tmpdata); SendDataToRace(tmpdata);
@ -1009,6 +1014,21 @@ public class RowerHomeScript : PFUIPanel
var power = RowerData.InstantaneousPower; var power = RowerData.InstantaneousPower;
var rate = RowerData.StrokeRate; var rate = RowerData.StrokeRate;
var pace = RowerData.InstantaneousPace; var pace = RowerData.InstantaneousPace;
var strokeCount = RowerData.StrokeCount;
var distance = (int)RowerData.TotalDistance;
var energy = RowerData.TotalEnergy;
var heartRate = HeartRate ?? 0;
if (rowerType.type == 1 && totalDistance >=rowerType.value && !createTime.HasValue)
{
openTimer = false;
bottom.Find("KM/Value").GetComponent<Text>().text = "0";
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{power},{pace},{rate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
var tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata);
SendDataToRace(tmpdata);
HandleSaveDirect();
return;
}
if (stopSeconds >= 2) if (stopSeconds >= 2)
{ {
return; return;

View File

@ -50,12 +50,12 @@ public class RowerAnimation : PFUIPanel
for (int i = 0; i < 15; i++) for (int i = 0; i < 15; i++)
{ {
image.sprite = sprites[i]; image.sprite = sprites[i];
yield return new WaitForSeconds(0.02f); yield return new WaitForSeconds(0.02666f);
} }
for (int i = 15; i < 30; i++) for (int i = 15; i < 30; i++)
{ {
image.sprite = sprites[i]; image.sprite = sprites[i];
yield return new WaitForSeconds(0.04f); yield return new WaitForSeconds(0.05333f);
} }
} }

View File

@ -443,7 +443,7 @@ public class RowerMultiModeScript : MonoBehaviour
var rowed = t.Find("Main/Rowed").GetComponent<RectTransform>(); var rowed = t.Find("Main/Rowed").GetComponent<RectTransform>();
rowed.sizeDelta = new Vector2(diffWidth < 0 ? 0 : t.Find("Main").GetComponent<RectTransform>().sizeDelta.x, rowed.sizeDelta.y); rowed.sizeDelta = new Vector2(diffWidth < 0 ? 0 : t.Find("Main").GetComponent<RectTransform>().sizeDelta.x, rowed.sizeDelta.y);
} }
if (isAni && currentSecond >= 0 && currentSecond < data.list.Count) if (isAni && currentSecond >= 0 && currentSecond < data.list.Count && currentSecond%2 == 0)
{ {
var ani = DOTween.Sequence(); var ani = DOTween.Sequence();
var _d = data.list[currentSecond]; var _d = data.list[currentSecond];
@ -452,11 +452,11 @@ public class RowerMultiModeScript : MonoBehaviour
var spDict = GetComponent<RowerHomeScript>().spriteDict2; var spDict = GetComponent<RowerHomeScript>().spriteDict2;
int spDictIndex = 0; int spDictIndex = 0;
ani.Join(DOTween.To(() => spDictIndex, x => t.Find("Main/Boat/Image").GetComponent<Image>().sprite = spDict[x], 14, 0.225f)); ani.Join(DOTween.To(() => spDictIndex, x => t.Find("Main/Boat/Image").GetComponent<Image>().sprite = spDict[x], 14, 0.495f));
ani.AppendCallback(() => ani.AppendCallback(() =>
{ {
int spDictIndex2 = 14; int spDictIndex2 = 14;
DOTween.To(() => spDictIndex2, x => t.Find("Main/Boat/Image").GetComponent<Image>().sprite = spDict[x], 0, 0.675f); DOTween.To(() => spDictIndex2, x => t.Find("Main/Boat/Image").GetComponent<Image>().sprite = spDict[x], 0, 1.485f);
}); });
ani.Play(); ani.Play();
//var _pred = data.list[currentSecond - 1]; //var _pred = data.list[currentSecond - 1];

View File

@ -146,7 +146,7 @@ public class RowerWelldone : PFUIPanel
content.Find("Index").GetComponent<Text>().text = i == 0 ? "ALL" : i.ToString("00"); content.Find("Index").GetComponent<Text>().text = i == 0 ? "ALL" : i.ToString("00");
content.Find("Time").GetComponent<Text>().text = TimeSpan.FromSeconds(item.Ticks).ToString(); content.Find("Time").GetComponent<Text>().text = TimeSpan.FromSeconds(item.Ticks).ToString();
content.Find("Distance").GetComponent<Text>().text = item.Distance.ToString("#0"); content.Find("Distance").GetComponent<Text>().text = item.Distance.ToString("#0");
content.Find("500").GetComponent<Text>().text = TimeSpan.FromSeconds(item.Speed).ToString(); content.Find("500").GetComponent<Text>().text = TimeSpan.FromSeconds(item.Speed).ToString().Substring(3, 5);
content.Find("Power").GetComponent<Text>().text = item.Power.ToString("#0"); content.Find("Power").GetComponent<Text>().text = item.Power.ToString("#0");
content.Find("HR").GetComponent<Text>().text = item.HeartRate.ToString("#0"); content.Find("HR").GetComponent<Text>().text = item.HeartRate.ToString("#0");
content.Find("Count").GetComponent<Text>().text = item.StrokeCount.ToString("#0"); content.Find("Count").GetComponent<Text>().text = item.StrokeCount.ToString("#0");