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.": "请拉动手柄继续训练!",
"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",

View File

@ -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; }

View File

@ -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/";

View File

@ -93,7 +93,8 @@ public class RowerHomeScript : PFUIPanel
public Dictionary<object, Sprite> spriteDict,spriteDict2;
List<string> records;
List<TempRowerCalc> 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>().text = "---";
bottom.Find("MS/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 };
values.Add(tmpdata);
SendDataToRace(tmpdata);
@ -825,7 +830,7 @@ public class RowerHomeScript : PFUIPanel
bottom.Find("Time/Value").GetComponent<Text>().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>().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>().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>().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;

View File

@ -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);
}
}

View File

@ -443,7 +443,7 @@ public class RowerMultiModeScript : MonoBehaviour
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);
}
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<RowerHomeScript>().spriteDict2;
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(() =>
{
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();
//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("Time").GetComponent<Text>().text = TimeSpan.FromSeconds(item.Ticks).ToString();
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("HR").GetComponent<Text>().text = item.HeartRate.ToString("#0");
content.Find("Count").GetComponent<Text>().text = item.StrokeCount.ToString("#0");