修改细节,修复bug

This commit is contained in:
Caiyanpeng committed 2022-04-01 18:07:16 +08:00
1 parent 06aefb93c4
commit 30e09c9c7a
15 files changed
+3566 -3347

No files matched your search

@@ -51,6 +51,12 @@ public class RowerHomeScript : PFUIPanel
protected override void OnDestroy()
{
Debug.Log("銷毀");
if (RowerCommonDataInstance != null)
{
RowerCommonDataInstance.PullChanged -= PaintPullCurve;
}
C2RowerData.EnableChanged -= ModeChanged;
FtmsRowerData.RowerResChanged -= ResChanged;
}
private IRowerDevice Rower
@@ -183,7 +189,7 @@ public class RowerHomeScript : PFUIPanel
var nav = transform.Find("MainNav-mobile").GetComponent<NewMainNav>();
var c1 = new NewMainNav.CustomButton(Resources.Load<Sprite>("Images/RowerNew/ICON_create_44"), () =>
{
//UIManager.ShowRowerWelldone("81A85D49-ACAA-C764-101A-02555E6AC81A");
//UIManager.ShowRowerWelldone("3026214f-e6e0-4297-8668-f7177dbaebe4");
//return;
if (checkRowing()) return;
if (C2RowerData.IsEnabled == true && C2RowerData.rowerType != null) return;
@@ -191,7 +197,7 @@ public class RowerHomeScript : PFUIPanel
{
rowerType = type;
HandleSelectType();
});
},rowerType);
}, false);
//var c2 = new NewMainNav.CustomButton(Resources.Load<Sprite>("Images/RowerNew/ICON_continue_44"), () =>
//{
@@ -212,21 +218,29 @@ public class RowerHomeScript : PFUIPanel
});
UIManager.AddEvent(transform.Find("Stopped/Confirm/BtnDrop").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
{
transform.Find("Stopped").gameObject.SetActive(false);
openTimer = false;
isPause = true;
if (C2RowerData.IsEnabled == true)
{
Utils.showToast(null, "Please press Menu to save.",int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: Init);
}
else
{
Init();
}
Discard();
});
if (RowerCommonDataInstance != null)
{
RowerCommonDataInstance.PullChanged -= PaintPullCurve;
RowerCommonDataInstance.PullChanged += PaintPullCurve;
}
Init();
}
private void Discard()
{
transform.Find("Stopped").gameObject.SetActive(false);
openTimer = false;
isPause = true;
if (C2RowerData.IsEnabled == true)
{
Utils.showToast(null, @"Press ""Menu"" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: Init);
}
else
{
Init();
}
}
private void HandleSelectType()
{
@@ -290,7 +304,7 @@ public class RowerHomeScript : PFUIPanel
};
if (C2RowerData.IsEnabled == true)
{
Utils.showToast(null, "Please press Menu to save.",int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: f);
Utils.showToast(null, @"Press ""Menu"" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: f);
}
else
{
@@ -364,6 +378,12 @@ public class RowerHomeScript : PFUIPanel
private void StartFunc()
{
//设定一个标准 如果满足条件不让他开始
if (C2RowerData.IsEnabled && RowerData != null && RowerData.ElapsedTime >= 5)
{
Utils.showToast(null, @"Press ""Menu"" to save.", stopFunc: () => RowerData.ElapsedTime < 5);
return;
}
if (!isPause)
{
startTime = UIManager.Now.GetDateTime();
@@ -409,10 +429,10 @@ public class RowerHomeScript : PFUIPanel
model.AvgPower = values.Average(x => x.power);
model.AvgRate = values.Average(x => x.rate);
model.AvgHeartRate = (int)values.Average(x => x.heartRate);
model.StrokeCount = (ushort)values.Max(x=>x.strokeCount);
model.TotalDistance = (ushort)values.Max(x => x.distance);
}
model.StrokeCount = RowerData.StrokeCount;
model.TotalTime = RowerData.ElapsedTime;
model.TotalDistance = RowerData.TotalDistance;
model.Type = rowerType.type == 0 ? (int?)null : rowerType.type;
model.TypeValue = rowerType.value == 0 ? (float?)null : rowerType.value;
model.ShadowIds = string.Join(",",GetComponent<RowerMultiModeScript>().shadowList.Select(x=>x.Nid));
@@ -523,9 +543,11 @@ public class RowerHomeScript : PFUIPanel
private void ModeChanged(object sender, EventArgs e)
{
print("增加服务"+RowerData.ResistanceLevel);
RowerCommonDataInstance.PullChanged -= PaintPullCurve;
RowerCommonDataInstance.PullChanged += PaintPullCurve;
if (RowerCommonDataInstance != null)
{
RowerCommonDataInstance.PullChanged -= PaintPullCurve;
RowerCommonDataInstance.PullChanged += PaintPullCurve;
}
slider.GetComponent<Slider>().interactable = !(bool)sender;
transform.Find("ResBar/BtnSub").GetComponent<Button>().interactable = !(bool)sender;
transform.Find("ResBar/BtnAdd").GetComponent<Button>().interactable = !(bool)sender;
@@ -534,13 +556,14 @@ public class RowerHomeScript : PFUIPanel
private void ResChanged(object sender, EventArgs e)
{
print("收到阻力" + sender);
if ((Convert.ToSingle(sender) > 50))
if ((Convert.ToSingle(sender) > 50) && slider)
{
slider.GetComponent<PFUISlider>().SetValue((Convert.ToSingle(sender) - 50) / 300f);
}
}
public bool checkRowing()
{
if (seconds > 0)
@@ -590,27 +613,18 @@ public class RowerHomeScript : PFUIPanel
var power = RowerData.InstantaneousPower;
var rate = RowerData.StrokeRate;
TempRowerCalc tmpdata = null;
//里程停止逻辑
if (totalDistance == RowerData.TotalDistance)
{
//判定一次停止
stopSeconds++;
}
else
else
{
stopSeconds = 0;
transform.Find("Stopped").gameObject.SetActive(false);
}
//if (stopSeconds >= 91)
//{
// Debug.Log("保存");
// HandleSaveDirect();
// return;
//}
//else if (stopSeconds == 81)
//{
// Utils.showToast(null, "Record will be saved!", duration: 10, stopFunc: () => stopSeconds < 6, isLowest: true,showSeconds:true);
// return;
//}
if (stopSeconds >= 2)
{
transform.Find("Stopped").gameObject.SetActive(true);
@@ -620,8 +634,8 @@ public class RowerHomeScript : PFUIPanel
//}
if (rowerType.type == 2)
{
var remainTime = rowerType.value - (seconds++);
if (remainTime == 0)
var remainTime = rowerType.value - (++seconds);
if (remainTime == 0)
{
records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},0,0,0,{RowerData.ResistanceLevel},{heartRate},{energy}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = 0, power = 0, rate = 0, heartRate = heartRate, distance = distance, energy = energy };
@@ -633,9 +647,9 @@ public class RowerHomeScript : PFUIPanel
TimeSpan.FromSeconds(remainTime).ToPFString();
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(remainTime).ToPFString();
}
else
else
{
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(seconds++).ToPFString();
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(++seconds).ToPFString();
}
mid.Find("W/Value").GetComponent<Text>().text = "---";
//bottom.Find("W/AvgValue").GetComponent<Text>().text = "---";
@@ -650,7 +664,7 @@ public class RowerHomeScript : PFUIPanel
SendDataToRace(tmpdata);
return;
}
totalDistance = (uint)distance;
var pace = RowerData.InstantaneousPace;
@@ -697,7 +711,7 @@ public class RowerHomeScript : PFUIPanel
}
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();
if (remainTime == 0)
{
@@ -711,12 +725,12 @@ public class RowerHomeScript : PFUIPanel
}
else
{
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(seconds++).ToPFString();
bottom.Find("Time/Value").GetComponent<Text>().text = TimeSpan.FromSeconds(++seconds).ToPFString();
}
if (rowerType.type == 1)
{
var remainDistance = rowerType.value - totalDistance;
if (remainDistance < 0)
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}");
@@ -732,10 +746,15 @@ 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}");
tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = pace, power = power, rate = rate, heartRate = heartRate, distance = distance, energy = energy };
values.Add(tmpdata);
SendDataToRace(tmpdata);
if (C2RowerData.IsEnabled == true && C2RowerData.isReadyStatus && values.Count()>10)
{
HandleSaveDirect();
}
//Debug.Log(1);
}
void SendDataToRace(TempRowerCalc tmpdata)