From cfa1cc4f7b6af735b4f127d3cac4abd1cdc262f9 Mon Sep 17 00:00:00 2001 From: CaiYanPeng Date: Fri, 29 Apr 2022 18:32:04 +0800 Subject: [PATCH] =?UTF-8?q?4.29=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/UI/language.json | 4 +- .../Scripts/Apis/Models/RowerRecordModel.cs | 2 +- Assets/Scripts/App.cs | 12 +++--- .../UI/Prefab/Panel/RowerHomeScript.cs | 40 ++++++++++++++----- .../Scripts/UI/Prefab/Rower/RowerAnimation.cs | 4 +- .../UI/Prefab/Rower/RowerMultiModeScript.cs | 6 +-- .../Scripts/UI/Prefab/Rower/RowerWelldone.cs | 2 +- 7 files changed, 45 insertions(+), 25 deletions(-) diff --git a/Assets/Resources/UI/language.json b/Assets/Resources/UI/language.json index c5179ff4..e4c2c6af 100644 --- a/Assets/Resources/UI/language.json +++ b/Assets/Resources/UI/language.json @@ -344,7 +344,7 @@ "Stroke to continue the workout.": "请拉动手柄继续训练!", "Just Row": "自由划", "GO": "开始", - "Speed/500m": "500M配速", + "Speed/500m": "/500M", "Share to": "分享到", "VIEW MORE": "查看更多", "DEFINE": "确定", @@ -702,7 +702,7 @@ "Stroke to continue the workout.": "Stroke to continue the workout.", "Just Row": "Just Row", "GO": "GO", - "Speed/500m": "Speed/500M", + "Speed/500m": "Pace", "Share to": "Share to", "VIEW MORE": "VIEW MORE", "DEFINE": "DEFINE", diff --git a/Assets/Scripts/Apis/Models/RowerRecordModel.cs b/Assets/Scripts/Apis/Models/RowerRecordModel.cs index dd1879d3..85b42731 100644 --- a/Assets/Scripts/Apis/Models/RowerRecordModel.cs +++ b/Assets/Scripts/Apis/Models/RowerRecordModel.cs @@ -86,7 +86,7 @@ namespace Assets.Scripts.Apis.Models { public string Id { get; set; } public int UserId { get; set; } - public int Time { get; set; } + public double Time { get; set; } public int TotalDistance { get; set; } public string NickName { get; set; } public string WxHeadImg { get; set; } diff --git a/Assets/Scripts/App.cs b/Assets/Scripts/App.cs index 1f49e61b..e14713ce 100644 --- a/Assets/Scripts/App.cs +++ b/Assets/Scripts/App.cs @@ -223,17 +223,17 @@ public static class App InitLanguage(); #if !UNITY_EDITOR //测试服务器 Host = "http://192.168.0.101:5083/"; - Host = "http://pf.juze.pro/"; - UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21000); - TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21001); + //Host = "http://pf.juze.pro/"; + //UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21000); + //TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 21001); //线上 //Host = "https://wx.powerfun.com.cn/"; //UdpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11000); //TcpAddress = new IPEndPoint(IPAddress.Parse("47.97.84.8"), 11001); //本地 - //Host = "http://192.168.0.101:5087/"; - //UdpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.97"), 11000); - //TcpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.102"), 21001); + Host = "http://192.168.0.101:5087/"; + UdpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.97"), 11000); + TcpAddress = new IPEndPoint(IPAddress.Parse("192.168.0.102"), 21001); Debug.unityLogger.logEnabled = false; #else //Host = "http://pf.juze.pro/"; diff --git a/Assets/Scripts/UI/Prefab/Panel/RowerHomeScript.cs b/Assets/Scripts/UI/Prefab/Panel/RowerHomeScript.cs index bc4ecb49..8ce49025 100644 --- a/Assets/Scripts/UI/Prefab/Panel/RowerHomeScript.cs +++ b/Assets/Scripts/UI/Prefab/Panel/RowerHomeScript.cs @@ -93,7 +93,8 @@ public class RowerHomeScript : PFUIPanel public Dictionary spriteDict,spriteDict2; List records; List values; - DateTime startTime,createTime; + DateTime startTime; + DateTime? createTime; double Kj = 0; int seconds = 0; bool isPause = false; @@ -371,8 +372,8 @@ public class RowerHomeScript : PFUIPanel { if (SaveFunc(tempRecordData.model, tempRecordData.files)) Init(); } - }; + createTime = UIManager.Now.GetDateTime(); if (C2RowerData.IsEnabled == true) { Utils.showToast(null, "Press \"Menu\" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: f); @@ -447,6 +448,7 @@ public class RowerHomeScript : PFUIPanel //StartCoroutine(); } + int truelyTime = 0; private void StartFunc() { 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) { - startTime = UIManager.Now.GetDateTime(); + } if (!openTimer) { + startTime = UIManager.Now.GetDateTime(); + createTime = null; + truelyTime = 0; TimerTicks(); openTimer = true; timer = 1.0f; @@ -511,7 +516,6 @@ public class RowerHomeScript : PFUIPanel TempRecordData tempRecordData; 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; RowerRecordModel model = new RowerRecordModel(); model.Ticks = records.Count; @@ -524,7 +528,7 @@ public class RowerHomeScript : PFUIPanel model.Weight = App.CurrentUser.Weight; model.Kj = RowerData.TotalEnergy; model.StartTime = startTime; - model.CreateTime = createTime; + model.CreateTime = createTime.Value; Debug.Log(values.Count); if (values.Count > 0) { @@ -725,6 +729,7 @@ public class RowerHomeScript : PFUIPanel var strokeCount = RowerData.StrokeCount; var power = RowerData.InstantaneousPower; var rate = RowerData.StrokeRate; + truelyTime++; TempRowerCalc tmpdata = null; //里程停止逻辑 @@ -750,7 +755,7 @@ public class RowerHomeScript : PFUIPanel var remainTime = rowerType.value - (++seconds); 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 }; values.Add(tmpdata); SendDataToRace(tmpdata); @@ -768,7 +773,7 @@ public class RowerHomeScript : PFUIPanel bottom.Find("500/Value").GetComponent().text = "---"; bottom.Find("MS/Value").GetComponent().text = "---"; bottom.Find("Expected/Value").GetComponent().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 }; values.Add(tmpdata); SendDataToRace(tmpdata); @@ -825,7 +830,7 @@ public class RowerHomeScript : PFUIPanel bottom.Find("Time/Value").GetComponent().text = TimeSpan.FromSeconds(remainTime).ToPFString(); 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 }; values.Add(tmpdata); SendDataToRace(tmpdata); @@ -843,7 +848,7 @@ public class RowerHomeScript : PFUIPanel if (remainDistance <= 0) { bottom.Find("KM/Value").GetComponent().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 }; values.Add(tmpdata); SendDataToRace(tmpdata); @@ -857,7 +862,7 @@ public class RowerHomeScript : PFUIPanel bottom.Find("KM/Value").GetComponent().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 }; values.Add(tmpdata); SendDataToRace(tmpdata); @@ -1009,6 +1014,21 @@ public class RowerHomeScript : PFUIPanel var power = RowerData.InstantaneousPower; var rate = RowerData.StrokeRate; 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 = "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) { return; diff --git a/Assets/Scripts/UI/Prefab/Rower/RowerAnimation.cs b/Assets/Scripts/UI/Prefab/Rower/RowerAnimation.cs index 7fa616e6..18093fcf 100644 --- a/Assets/Scripts/UI/Prefab/Rower/RowerAnimation.cs +++ b/Assets/Scripts/UI/Prefab/Rower/RowerAnimation.cs @@ -50,12 +50,12 @@ public class RowerAnimation : PFUIPanel for (int i = 0; i < 15; i++) { image.sprite = sprites[i]; - yield return new WaitForSeconds(0.02f); + yield return new WaitForSeconds(0.02666f); } for (int i = 15; i < 30; i++) { image.sprite = sprites[i]; - yield return new WaitForSeconds(0.04f); + yield return new WaitForSeconds(0.05333f); } } diff --git a/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs b/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs index b16b094f..e88b47c1 100644 --- a/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs +++ b/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs @@ -443,7 +443,7 @@ public class RowerMultiModeScript : MonoBehaviour var rowed = t.Find("Main/Rowed").GetComponent(); rowed.sizeDelta = new Vector2(diffWidth < 0 ? 0 : t.Find("Main").GetComponent().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 _d = data.list[currentSecond]; @@ -452,11 +452,11 @@ public class RowerMultiModeScript : MonoBehaviour var spDict = GetComponent().spriteDict2; int spDictIndex = 0; - ani.Join(DOTween.To(() => spDictIndex, x => t.Find("Main/Boat/Image").GetComponent().sprite = spDict[x], 14, 0.225f)); + ani.Join(DOTween.To(() => spDictIndex, x => t.Find("Main/Boat/Image").GetComponent().sprite = spDict[x], 14, 0.495f)); ani.AppendCallback(() => { int spDictIndex2 = 14; - DOTween.To(() => spDictIndex2, x => t.Find("Main/Boat/Image").GetComponent().sprite = spDict[x], 0, 0.675f); + DOTween.To(() => spDictIndex2, x => t.Find("Main/Boat/Image").GetComponent().sprite = spDict[x], 0, 1.485f); }); ani.Play(); //var _pred = data.list[currentSecond - 1]; diff --git a/Assets/Scripts/UI/Prefab/Rower/RowerWelldone.cs b/Assets/Scripts/UI/Prefab/Rower/RowerWelldone.cs index c823e13b..593ed01e 100644 --- a/Assets/Scripts/UI/Prefab/Rower/RowerWelldone.cs +++ b/Assets/Scripts/UI/Prefab/Rower/RowerWelldone.cs @@ -146,7 +146,7 @@ public class RowerWelldone : PFUIPanel content.Find("Index").GetComponent().text = i == 0 ? "ALL" : i.ToString("00"); content.Find("Time").GetComponent().text = TimeSpan.FromSeconds(item.Ticks).ToString(); content.Find("Distance").GetComponent().text = item.Distance.ToString("#0"); - content.Find("500").GetComponent().text = TimeSpan.FromSeconds(item.Speed).ToString(); + content.Find("500").GetComponent().text = TimeSpan.FromSeconds(item.Speed).ToString().Substring(3, 5); content.Find("Power").GetComponent().text = item.Power.ToString("#0"); content.Find("HR").GetComponent().text = item.HeartRate.ToString("#0"); content.Find("Count").GetComponent().text = item.StrokeCount.ToString("#0");