Merge remote-tracking branch 'origin/dev_ani3' into dev_cyp

This commit is contained in:
CaiYanPeng 2022-06-01 16:24:36 +08:00
commit 154252e3c3
2 changed files with 118 additions and 58 deletions

View File

@ -109,12 +109,18 @@ public class RowerHomeScript : PFUIPanel
uint totalDistance = 0; uint totalDistance = 0;
Transform slider; Transform slider;
RowerGraphChartFeed rowerGraphChartFeed { get; set; }
RowerGraphChartFeed graphChartFeed { get; set; }
protected override void Start() protected override void Start()
{ {
var rect = transform.GetComponent<RectTransform>(); var rect = transform.GetComponent<RectTransform>();
rect.offsetMax = Vector2.zero; rect.offsetMax = Vector2.zero;
rect.offsetMin = Vector2.zero; rect.offsetMin = Vector2.zero;
rowerGraphChartFeed = mid.Find("GraphChart").GetComponent<RowerGraphChartFeed>();
graphChartFeed = transform.Find("Rower/Modes/Scroll/M2/MyData/GraphChart").GetComponent<RowerGraphChartFeed>();
} }
Transform M1 { get; set; }
protected override void Awake() protected override void Awake()
{ {
Id = Guid.NewGuid().ToString(); Id = Guid.NewGuid().ToString();
@ -158,6 +164,7 @@ public class RowerHomeScript : PFUIPanel
{13,Resources.Load<Sprite>("Images/RowerNew/序列帧/划船机0014") }, {13,Resources.Load<Sprite>("Images/RowerNew/序列帧/划船机0014") },
{14,Resources.Load<Sprite>("Images/RowerNew/序列帧/划船机0015") }, {14,Resources.Load<Sprite>("Images/RowerNew/序列帧/划船机0015") },
}; };
rowerMultiModeScript = GetComponent<RowerMultiModeScript>();
GetComponent<RectTransform>().localScale = Vector3.one; GetComponent<RectTransform>().localScale = Vector3.one;
GetComponent<RectTransform>().localPosition = Vector3.zero; GetComponent<RectTransform>().localPosition = Vector3.zero;
records = new List<string>(); records = new List<string>();
@ -166,11 +173,30 @@ public class RowerHomeScript : PFUIPanel
historyPullList = new List<DoubleVector2>(); historyPullList = new List<DoubleVector2>();
//mainNav.ShowExit(); //mainNav.ShowExit();
M1 = transform.Find("Rower/Modes/Scroll/M1");
left = transform.Find("Rower/Modes/Scroll/M1/Left"); left = transform.Find("Rower/Modes/Scroll/M1/Left");
bottom = transform.Find("Rower/Bottom"); bottom = transform.Find("Rower/Bottom");
KMText = bottom.Find("KM/Value").GetComponent<Text>();
TimeText = bottom.Find("Time/Value").GetComponent<Text>();
BPMText = bottom.Find("BPM/Value").GetComponent<Text>();
mid = transform.Find("Rower/Modes/Scroll/M1/Mid"); mid = transform.Find("Rower/Modes/Scroll/M1/Mid");
rmydata = transform.Find("Rower/Modes/Scroll/M2/MyData"); rmydata = transform.Find("Rower/Modes/Scroll/M2/MyData");
slider = transform.Find("ResBar/PFUISlider"); slider = transform.Find("ResBar/PFUISlider");
WText = mid.Find("W/Value").GetComponent<Text>();
rmyWText = rmydata.Find("W/Value").GetComponent<Text>();
FiveText = bottom.Find("500/Value").GetComponent<Text>();
MSText = bottom.Find("MS/Value").GetComponent<Text>();
ExpectedText = bottom.Find("Expected/Value").GetComponent<Text>();
TimesText = left.Find("Times/Value").GetComponent<Text>();
Caloriestext = left.Find("Calories/Value").GetComponent<Text>();
rmyCaloriestext = rmydata.Find("Calories/Value").GetComponent<Text>();
AvgForceText = mid.Find("AvgForce/Value").GetComponent<Text>();
rmyAvgForceText = rmydata.Find("AvgForce/Value").GetComponent<Text>();
PeakForceText = mid.Find("PeakForce/Value").GetComponent<Text>();
rmyPeakForceText = rmydata.Find("PeakForce/Value").GetComponent<Text>();
UIManager.AddEvent(transform.Find("ResBar/BtnAdd").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b => UIManager.AddEvent(transform.Find("ResBar/BtnAdd").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
{ {
if (RowerData != null) if (RowerData != null)
@ -560,45 +586,45 @@ public class RowerHomeScript : PFUIPanel
left.Find("Rower").GetComponent<Image>().sprite = spriteDict[0]; left.Find("Rower").GetComponent<Image>().sprite = spriteDict[0];
left.Find("LeftImage/Value").GetComponent<Image>().fillAmount = 0; left.Find("LeftImage/Value").GetComponent<Image>().fillAmount = 0;
left.Find("RightImage/Value").GetComponent<Image>().fillAmount = 0; left.Find("RightImage/Value").GetComponent<Image>().fillAmount = 0;
left.Find("Times/Value").GetComponent<Text>().text = "---"; TimesText.text = "---";
left.Find("Calories/Value").GetComponent<Text>().text = "---"; Caloriestext.text = "---";
rmydata.Find("Calories/Value").GetComponent<Text>().text = "---"; rmyCaloriestext.text = "---";
pullList.Clear(); pullList.Clear();
historyPullList.Clear(); historyPullList.Clear();
SetChartData(pullList, historyPullList); //SetChartData(pullList, historyPullList);
//mid.Find("GraphChart").GetComponent<RowerGraphChartFeed>().SetData(pullList); //mid.Find("GraphChart").GetComponent<RowerGraphChartFeed>().SetData(pullList);
openTimer = false; openTimer = false;
if (rowerType.type == 0) if (rowerType.type == 0)
{ {
bottom.Find("Time/Value").GetComponent<Text>().text = "---"; TimeText.text = "---";
bottom.Find("KM/Value").GetComponent<Text>().text = "---"; KMText.text = "---";
} }
else else
{ {
if (rowerType.type == 1) if (rowerType.type == 1)
{ {
bottom.Find("Time/Value").GetComponent<Text>().text = "---"; TimeText.text = "---";
bottom.Find("KM/Value").GetComponent<Text>().text = $"{rowerType.value}"; KMText.text = $"{rowerType.value}";
} }
else else
{ {
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(rowerType.value).ToPFString(); TimeText.text = TimeSpan.FromSeconds(rowerType.value).ToPFString();
bottom.Find("KM/Value").GetComponent<Text>().text = "---"; KMText.text = "---";
} }
} }
mid.Find("W/Value").GetComponent<Text>().text = "---"; WText.text = "---";
rmydata.Find("W/Value").GetComponent<Text>().text = "---"; rmyWText.text = "---";
bottom.Find("500/Value").GetComponent<Text>().text = "---"; FiveText.text = "---";
bottom.Find("MS/Value").GetComponent<Text>().text = "---"; MSText.text = "---";
//bottom.Find("MS/AvgValue").GetComponent<Text>().text = "---"; //bottom.Find("MS/AvgValue").GetComponent<Text>().text = "---";
bottom.Find("BPM/Value").GetComponent<Text>().text = "---"; bottom.Find("BPM/Value").GetComponent<Text>().text = "---";
bottom.Find("Expected/Value").GetComponent<Text>().text = "---"; ExpectedText.text = "---";
bottom.Find("Expected/Title").GetComponent<Text>().text = bottom.Find("Expected/Title").GetComponent<Text>().text.Replace("EST",App.GetLocalString("EST")); bottom.Find("Expected/Title").GetComponent<Text>().text = bottom.Find("Expected/Title").GetComponent<Text>().text.Replace("EST",App.GetLocalString("EST"));
mid.Find("AvgForce/Value").GetComponent<Text>().text = "---"; AvgForceText.text = "---";
rmydata.Find("AvgForce/Value").GetComponent<Text>().text = "---"; rmyAvgForceText.text = "---";
mid.Find("PeakForce/Value").GetComponent<Text>().text = "---"; PeakForceText.text = "---";
rmydata.Find("PeakForce/Value").GetComponent<Text>().text = "---"; rmyPeakForceText.text = "---";
records.Clear();// = new List<string>(); records.Clear();// = new List<string>();
values.Clear(); //= new List<TempRowerCalc>(); values.Clear(); //= new List<TempRowerCalc>();
@ -689,6 +715,23 @@ public class RowerHomeScript : PFUIPanel
}; };
int tempx = 0; int tempx = 0;
#endif #endif
private Text WText { get; set; }
private Text rmyWText { get; set; }
private Text FiveText { get; set; }
private Text MSText { get; set; }
private Text ExpectedText { get; set; }
private Text KMText { get; set; }
private Text BPMText { get; set; }
private Text TimeText { get; set; }
private Text TimesText { get; set; }
private Text Caloriestext { get; set; }
private Text rmyCaloriestext { get; set; }
private Text AvgForceText { get; set; }
private Text rmyAvgForceText { get; set; }
private Text PeakForceText { get; set; }
private Text rmyPeakForceText { get; set; }
void TimerTicks() void TimerTicks()
{ {
#if UNITY_EDITOR #if UNITY_EDITOR
@ -705,7 +748,7 @@ public class RowerHomeScript : PFUIPanel
if (RowerData == null) return; if (RowerData == null) return;
#endif #endif
var heartRate = HeartRate ?? 0; var heartRate = HeartRate ?? 0;
bottom.Find("BPM/Value").GetComponent<Text>().text = heartRate.ToString(); BPMText.text = heartRate.ToString();
//断线重连继续 //断线重连继续
var distance = (int)RowerData.TotalDistance + historyDistance; var distance = (int)RowerData.TotalDistance + historyDistance;
var energy = RowerData.TotalEnergy + historyEnergy; var energy = RowerData.TotalEnergy + historyEnergy;
@ -747,17 +790,17 @@ public class RowerHomeScript : PFUIPanel
return; return;
} }
TimeSpan.FromSeconds(remainTime).ToPFString(); TimeSpan.FromSeconds(remainTime).ToPFString();
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(remainTime).ToPFString(); TimeText.text = TimeSpan.FromSeconds(remainTime).ToPFString();
} }
else else
{ {
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(++seconds).ToPFString(); TimeText.text = TimeSpan.FromSeconds(++seconds).ToPFString();
} }
mid.Find("W/Value").GetComponent<Text>().text = "---"; WText.text = "---";
rmydata.Find("W/Value").GetComponent<Text>().text = "---"; rmyWText.text = "---";
bottom.Find("500/Value").GetComponent<Text>().text = "---"; FiveText.text = "---";
bottom.Find("MS/Value").GetComponent<Text>().text = "---"; MSText.text = "---";
bottom.Find("Expected/Value").GetComponent<Text>().text = "---"; ExpectedText.text = "---";
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},0,0,0,{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}"); 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);
@ -770,17 +813,17 @@ public class RowerHomeScript : PFUIPanel
var pace = RowerData.InstantaneousPace; var pace = RowerData.InstantaneousPace;
mid.Find("W/Value").GetComponent<Text>().text = power.ToString(); WText.text = power.ToString();
rmydata.Find("W/Value").GetComponent<Text>().text = power.ToString(); rmyWText.text = power.ToString();
bottom.Find("500/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(pace).ToPFString(); FiveText.text = TimeSpan.FromSeconds(pace).ToPFString();
bottom.Find("MS/Value").GetComponent<Text>().text = rate.ToString(); MSText.text = rate.ToString();
left.Find("Times/Value").GetComponent<Text>().text = strokeCount.ToString(); TimesText.text = strokeCount.ToString();
left.Find("Calories/Value").GetComponent<Text>().text = energy.ToString(); Caloriestext.text = energy.ToString();
rmydata.Find("Calories/Value").GetComponent<Text>().text = energy.ToString(); rmyCaloriestext.text = energy.ToString();
mid.Find("AvgForce/Value").GetComponent<Text>().text = RowerData.AverageDriveForce.ToString("#0"); AvgForceText.text = RowerData.AverageDriveForce.ToString("#0");
rmydata.Find("AvgForce/Value").GetComponent<Text>().text = RowerData.AverageDriveForce.ToString("#0"); rmyAvgForceText.text = RowerData.AverageDriveForce.ToString("#0");
mid.Find("PeakForce/Value").GetComponent<Text>().text = RowerData.PeakDriveForce.ToString("#0"); PeakForceText.text = RowerData.PeakDriveForce.ToString("#0");
rmydata.Find("PeakForce/Value").GetComponent<Text>().text = RowerData.PeakDriveForce.ToString("#0"); rmyPeakForceText.text = RowerData.PeakDriveForce.ToString("#0");
if (pace != 0) if (pace != 0)
{ {
if (rowerType.type == 1) if (rowerType.type == 1)
@ -788,14 +831,14 @@ public class RowerHomeScript : PFUIPanel
//设置里程时 显示预估时间 当前时间+剩余里程/配速(转换) //设置里程时 显示预估时间 当前时间+剩余里程/配速(转换)
var remainDistance = rowerType.value - totalDistance; var remainDistance = rowerType.value - totalDistance;
var time = values.Count + (remainDistance / (500f / pace)); var time = values.Count + (remainDistance / (500f / pace));
bottom.Find("Expected/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(time).ToPFString(); ExpectedText.text = TimeSpan.FromSeconds(time).ToPFString();
} }
else if (rowerType.type == 2) else if (rowerType.type == 2)
{ {
var remainTime = rowerType.value - values.Count; var remainTime = rowerType.value - values.Count;
var dis = totalDistance + (remainTime * (500f / pace)); var dis = totalDistance + (remainTime * (500f / pace));
//设置时间时 显示预估里程 当前里程+剩余时间*配速 //设置时间时 显示预估里程 当前里程+剩余时间*配速
bottom.Find("Expected/Value").GetComponent<Text>().text = $"{dis.ToString("#0")}"; ExpectedText.text = $"{dis:#0}";
} }
else else
{ {
@ -809,13 +852,13 @@ public class RowerHomeScript : PFUIPanel
} }
var dis = totalDistance - dif + (remainTime * (500f / pace)); var dis = totalDistance - dif + (remainTime * (500f / pace));
//设置时间时 显示预估里程 当前里程+剩余时间*配速 //设置时间时 显示预估里程 当前里程+剩余时间*配速
bottom.Find("Expected/Value").GetComponent<Text>().text = $"{dis.ToString("#0")}"; ExpectedText.text = $"{dis:#0}";
} }
} }
if (rowerType.type == 2) if (rowerType.type == 2)
{ {
var remainTime = rowerType.value - (++seconds); var remainTime = rowerType.value - (++seconds);
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(remainTime).ToPFString(); TimeText.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},{RowerData.AveragePower},{truelyTime}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
@ -828,14 +871,14 @@ public class RowerHomeScript : PFUIPanel
} }
else else
{ {
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(++seconds).ToPFString(); TimeText.text = TimeSpan.FromSeconds(++seconds).ToPFString();
} }
if (rowerType.type == 1) if (rowerType.type == 1)
{ {
var remainDistance = rowerType.value - totalDistance; var remainDistance = rowerType.value - totalDistance;
if (remainDistance <= 0) if (remainDistance <= 0)
{ {
bottom.Find("KM/Value").GetComponent<Text>().text = "0"; KMText.text = "0";
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}"); 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);
@ -843,11 +886,11 @@ public class RowerHomeScript : PFUIPanel
HandleSaveDirect(); HandleSaveDirect();
return; return;
} }
bottom.Find("KM/Value").GetComponent<Text>().text = remainDistance.ToString(); KMText.text = remainDistance.ToString();
} }
else else
{ {
bottom.Find("KM/Value").GetComponent<Text>().text = totalDistance.ToString(); KMText.text = totalDistance.ToString();
} }
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}"); records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
@ -907,14 +950,12 @@ public class RowerHomeScript : PFUIPanel
} }
} }
} }
Helper.DelectDir(dir);
UIManager.CloseConfirm(); UIManager.CloseConfirm();
}, 2, }, 2,
() => () =>
{ {
if (files.Length > 0) Helper.DelectDir(dir);
{
File.Delete(files[0]);
}
UIManager.CloseConfirm(); UIManager.CloseConfirm();
}); });
} }
@ -943,9 +984,11 @@ public class RowerHomeScript : PFUIPanel
Debug.LogError(e); Debug.LogError(e);
} }
} }
private RowerMultiModeScript rowerMultiModeScript { get; set; }
void SendDataToRace(TempRowerCalc tmpdata) void SendDataToRace(TempRowerCalc tmpdata)
{ {
GetComponent<RowerMultiModeScript>().HandleTimeTick(new RowerChartModel rowerMultiModeScript.HandleTimeTick(new RowerChartModel
{ {
Pace = tmpdata.pace, Pace = tmpdata.pace,
Power = tmpdata.power, Power = tmpdata.power,
@ -963,8 +1006,15 @@ public class RowerHomeScript : PFUIPanel
PaintPullCurve(ftms.PullValue); PaintPullCurve(ftms.PullValue);
} }
bool isPlay = false; bool isPlay = false;
float preTime = 0f;
float curTime = 0f;
void PaintPullCurve(ushort y) void PaintPullCurve(ushort y)
{ {
if (curTime-preTime < 0.1f)
{
return;
}
preTime = curTime;
Debug.Log("收到拉力" + y + ","+ DateTime.Now.Ticks); Debug.Log("收到拉力" + y + ","+ DateTime.Now.Ticks);
//#if !UNITY_EDITOR //#if !UNITY_EDITOR
// if (!openTimer) // if (!openTimer)
@ -1044,13 +1094,21 @@ public class RowerHomeScript : PFUIPanel
} }
void SetChartData(List<DoubleVector2> v1, List<DoubleVector2> v2) void SetChartData(List<DoubleVector2> v1, List<DoubleVector2> v2)
{ {
mid.Find("GraphChart").GetComponent<RowerGraphChartFeed>().SetData(v1,v2); if (M1.localPosition.x == 0)
transform.Find("Rower/Modes/Scroll/M2/MyData/GraphChart").GetComponent<RowerGraphChartFeed>().SetData(v1); {
rowerGraphChartFeed.SetData(v1, v2);
}
else
{
graphChartFeed.SetData(v1);
}
} }
float staticTimer = 1f,shortTimer = 0.25f; float staticTimer = 1f,shortTimer = 0.25f;
int ticks { get; set; } = 0; int ticks { get; set; } = 0;
void Update() void Update()
{ {
curTime += Time.deltaTime;
#if UNITY_EDITOR #if UNITY_EDITOR
if (openTimer || true) if (openTimer || true)
#else #else
@ -1102,7 +1160,7 @@ public class RowerHomeScript : PFUIPanel
if (rowerType.type == 1 && totalDistance >=rowerType.value && !createTime.HasValue) if (rowerType.type == 1 && totalDistance >=rowerType.value && !createTime.HasValue)
{ {
openTimer = false; openTimer = false;
bottom.Find("KM/Value").GetComponent<Text>().text = "0"; KMText.text = "0";
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{power},{pace},{rate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}"); 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 }; var tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata); values.Add(tmpdata);
@ -1114,10 +1172,10 @@ public class RowerHomeScript : PFUIPanel
{ {
return; return;
} }
mid.Find("W/Value").GetComponent<Text>().text = power.ToString(); WText.text = power.ToString();
rmydata.Find("W/Value").GetComponent<Text>().text = power.ToString(); rmyWText.text = power.ToString();
bottom.Find("500/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(pace).ToPFString(); FiveText.text = TimeSpan.FromSeconds(pace).ToPFString();
bottom.Find("MS/Value").GetComponent<Text>().text = rate.ToString(); MSText.text = rate.ToString();
} }
void HandleStatic() void HandleStatic()

View File

@ -44,6 +44,8 @@ public class RowerGraphChartFeed : MonoBehaviour
//graph.DataSource.StartBatch(); //graph.DataSource.StartBatch();
graph.DataSource.ClearCategory("Player 1"); graph.DataSource.ClearCategory("Player 1");
graph.DataSource.ClearCategory("Player 2"); graph.DataSource.ClearCategory("Player 2");
graph.ClearCache();
for (int i = 0; i < list.Count; i++) for (int i = 0; i < list.Count; i++)
{ {
var item = list[i]; var item = list[i];