C2课程同步问题
This commit is contained in:
1 parent
84b3e1e7a4
commit
701ec3069b
8 files changed
+202
-36
No files matched your search
@@ -20,6 +20,7 @@ using UnityEngine;
|
||||
using UnityEngine.Android;
|
||||
using UnityEngine.UI;
|
||||
using static RowerTaskPanel;
|
||||
using Assets.Scripts.Ble.Commands;
|
||||
|
||||
public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
@@ -57,6 +58,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
RowerData.PullChanged -= PaintPullCurve;
|
||||
RowerData.StartEvent -= StartFunc;
|
||||
RowerData.CompleteEvent -= CompelteFunc;
|
||||
RowerData.RowerResChanged -= ResChanged;
|
||||
}
|
||||
C2RowerData.EnableChanged -= ModeChanged;
|
||||
@@ -256,10 +258,12 @@ public class RowerHomeScript : PFUIPanel
|
||||
//UIManager.ShowRowerWelldone("C0F81E83-120B-4A2C-AD0E-8BC1B8EB3E74", Init);
|
||||
//return;
|
||||
if (checkRowing()) return;
|
||||
if (C2RowerData.IsEnabled == true && C2RowerData.rowerType != null) return;
|
||||
//if (C2RowerData.IsEnabled == true && C2RowerData.rowerType != null) return;
|
||||
UIManager.ShowRowerTaskPanel(type =>
|
||||
{
|
||||
rowerType = type;
|
||||
if(C2RowerData.IsEnabled)
|
||||
HandleC2RowerTaskPanel(type);//处理app自定义课程同步到c2划船机
|
||||
HandleSelectType();
|
||||
}, rowerType);
|
||||
}, false);
|
||||
@@ -292,12 +296,33 @@ public class RowerHomeScript : PFUIPanel
|
||||
RowerData.PullChanged += PaintPullCurve;
|
||||
RowerData.StartEvent -= StartFunc;
|
||||
RowerData.StartEvent += StartFunc;
|
||||
RowerData.CompleteEvent -= CompelteFunc;
|
||||
RowerData.CompleteEvent += CompelteFunc;
|
||||
}
|
||||
rowerType = new RowerType { type = 1, value = 500 };
|
||||
HandleSelectType();
|
||||
Init();
|
||||
isFirstReset = false;
|
||||
}
|
||||
void HandleC2RowerTaskPanel(RowerType rowerType)
|
||||
{
|
||||
if (!C2RowerData.IsEnabled)
|
||||
return;
|
||||
RowerCommand currentCommand = RowerCommand.JustRow;
|
||||
if (rowerType.type == 0 && rowerType.value == 0)
|
||||
{
|
||||
currentCommand = RowerCommand.JustRow;
|
||||
}
|
||||
if (rowerType.type == 1 && rowerType.value >= 100)
|
||||
{
|
||||
currentCommand = RowerCommand.FixedDistance;
|
||||
}
|
||||
if (rowerType.type == 2 && rowerType.value > 0)
|
||||
{
|
||||
currentCommand = RowerCommand.FixedTime;
|
||||
}
|
||||
Rower?.SendCommand(currentCommand, (int)rowerType.value);
|
||||
}
|
||||
|
||||
IEnumerator SetResistanceLevel(ushort res)
|
||||
{
|
||||
@@ -523,6 +548,26 @@ public class RowerHomeScript : PFUIPanel
|
||||
btnStart.GetComponent<Image>().sprite = spriteDict["Untagged"];
|
||||
btnStart.tag = "Untagged";
|
||||
}
|
||||
|
||||
private void CompelteFunc(object sender, EventArgs e)
|
||||
{
|
||||
var rowdata = (IRowerCommonData)sender;
|
||||
if (rowdata != RowerData)
|
||||
return;
|
||||
|
||||
var heartRate = HeartRate ?? 0;
|
||||
var energy = RowerData.TotalEnergy;
|
||||
var strokeCount = RowerData.StrokeCount;
|
||||
var power = RowerData.InstantaneousPower;
|
||||
var rate = RowerData.StrokeRate;
|
||||
|
||||
KMText.text = "0";
|
||||
records.Add($"{strokeCount},{RowerData.ElapsedTime},{rowerType.value},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{RowerData.ElapsedTime}");
|
||||
var tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = RowerData.InstantaneousPace, power = power, rate = rate, heartRate = heartRate, distance = (int)rowerType.value, energy = energy };
|
||||
values.Add(tmpdata);
|
||||
SendDataToRace(tmpdata);
|
||||
HandleSaveDirect();
|
||||
}
|
||||
private bool SaveFunc(RowerRecordModel model, List<string> files)
|
||||
{
|
||||
if (Application.internetReachability == NetworkReachability.NotReachable)
|
||||
@@ -764,6 +809,8 @@ public class RowerHomeScript : PFUIPanel
|
||||
RowerData.PullChanged += PaintPullCurve;
|
||||
RowerData.StartEvent -= StartFunc;
|
||||
RowerData.StartEvent += StartFunc;
|
||||
RowerData.CompleteEvent -= CompelteFunc;
|
||||
RowerData.CompleteEvent += CompelteFunc;
|
||||
RowerData.RowerResChanged -= ResChanged;
|
||||
RowerData.RowerResChanged += ResChanged;
|
||||
}
|
||||
@@ -868,23 +915,12 @@ public class RowerHomeScript : PFUIPanel
|
||||
|
||||
var power = RowerData.InstantaneousPower;
|
||||
var rate = RowerData.StrokeRate;
|
||||
truelyTime++;
|
||||
|
||||
Debug.Log($"ElapsedTime :{RowerData.ElapsedTime} : {truelyTime}-{RowerData.TotalDistance}");
|
||||
TempRowerCalc tmpdata = null;
|
||||
|
||||
//解决里程训练无法结束的问题
|
||||
var c2notStop = rowerType.type == 1 && (rowerType.value-totalDistance) <= 5;
|
||||
if (c2notStop)
|
||||
{
|
||||
distance = (int)rowerType.value;
|
||||
KMText.text = "0";
|
||||
records.Add($"{strokeCount},{RowerData.ElapsedTime},{rowerType.value},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
|
||||
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = RowerData.InstantaneousPace, power = power, rate = rate, heartRate = heartRate, distance = (int)rowerType.value, energy = energy };
|
||||
values.Add(tmpdata);
|
||||
SendDataToRace(tmpdata);
|
||||
HandleSaveDirect();
|
||||
return;
|
||||
}
|
||||
//解决C2里程训练无法结束的问题
|
||||
var c2notStop = C2RowerData.IsEnabled && rowerType.type == 1 && (rowerType.value-totalDistance) <= 5;
|
||||
//里程停止逻辑
|
||||
if (totalDistance == RowerData.TotalDistance && !c2notStop)
|
||||
{
|
||||
@@ -1024,15 +1060,19 @@ public class RowerHomeScript : PFUIPanel
|
||||
KMText.text = totalDistance.ToString();
|
||||
}
|
||||
|
||||
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);
|
||||
if (truelyTime > 0)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
if (ticks % 5 == 0)
|
||||
{
|
||||
SaveRealTimes();//实时保存数据
|
||||
}
|
||||
truelyTime++;
|
||||
}
|
||||
//检查本地数据
|
||||
int historyDistance = 0,historyStrokeCount = 0,historyEnergy = 0;
|
||||
@@ -1337,10 +1377,9 @@ public class RowerHomeScript : PFUIPanel
|
||||
var rate = RowerData.StrokeRate;
|
||||
var pace = RowerData.InstantaneousPace;
|
||||
var strokeCount = RowerData.StrokeCount + historyStrokeCount;
|
||||
var distance = (int)RowerData.TotalDistance + historyDistance;
|
||||
var energy = RowerData.TotalEnergy + historyEnergy;
|
||||
var heartRate = HeartRate ?? 0;
|
||||
if (rowerType.type == 1 && (rowerType.value - totalDistance) <= 5 && !createTime.HasValue)
|
||||
if (rowerType.type == 1 && totalDistance >= rowerType.value && !createTime.HasValue)
|
||||
{
|
||||
openTimer = false;
|
||||
KMText.text = "0";
|
||||
|
||||
Reference in new issue
Block a user