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