Merge branch 'dev_cyp1' into dev_combine
# Conflicts: # .gitignore # Assets/Scripts/Devices/Ble/Characteristic/C2RowerData.cs # Assets/Scripts/Scenes/MainController.cs
This commit is contained in:
commit
342740b740
13 files changed
+132
-109
No files matched your search
@@ -35,20 +35,29 @@ public class PFUISlider : MonoBehaviour
|
||||
});
|
||||
}
|
||||
public bool runCallback = false;
|
||||
private bool ondraging = false;
|
||||
public void SetValueChanged(System.Action<float> a)
|
||||
{
|
||||
this.ValueChangedHandler = a;
|
||||
slider = transform.GetComponent<Slider>();
|
||||
slider.onValueChanged.RemoveAllListeners();
|
||||
|
||||
UIManager.AddEvent(slider.gameObject, EventTriggerType.BeginDrag, (e) =>
|
||||
{
|
||||
ondraging = true;
|
||||
});
|
||||
|
||||
UIManager.AddEvent(slider.gameObject, EventTriggerType.EndDrag, (e) =>
|
||||
{
|
||||
ondraging = false;
|
||||
OnValueChanged();
|
||||
});
|
||||
|
||||
slider.onValueChanged.AddListener((f) =>
|
||||
{
|
||||
current = f;
|
||||
if(!ondraging)
|
||||
OnValueChanged();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
double Kj = 0;
|
||||
int seconds = 0;
|
||||
bool isPause = false;
|
||||
public RowerType rowerType = null;
|
||||
public RowerType rowerType = new RowerType() { type = 1, value = 500 };
|
||||
/// <summary>
|
||||
/// 计算停止的秒数,如果超过5秒,除了累加值都变成--,这些值记录为0,提示用户如果超过90秒,将直接保存数据
|
||||
/// 如果5-90秒有拉力,则继续滑行
|
||||
@@ -129,7 +129,6 @@ public class RowerHomeScript : PFUIPanel
|
||||
protected override void Awake()
|
||||
{
|
||||
Id = Guid.NewGuid().ToString();
|
||||
rowerType = new RowerType() { type = 1, value = 500 };
|
||||
|
||||
spriteDict = new Dictionary<object, Sprite>()
|
||||
{
|
||||
@@ -299,7 +298,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
RowerData.CompleteEvent -= CompelteFunc;
|
||||
RowerData.CompleteEvent += CompelteFunc;
|
||||
}
|
||||
rowerType = new RowerType { type = 1, value = 500 };
|
||||
|
||||
HandleSelectType();
|
||||
Init();
|
||||
isFirstReset = false;
|
||||
@@ -391,7 +390,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
historyTime = 0;
|
||||
if (C2RowerData.IsEnabled == true)
|
||||
{
|
||||
Utils.showToast(null, "Press \"Menu\" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: Init);
|
||||
Utils.showToast(null, "Press \"Menu\" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: ()=> Init());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -419,7 +418,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
dw = $"\nM";
|
||||
}
|
||||
bottom.Find("Expected/Title").GetComponent<Text>().text = $"{App.GetLocalString("EST")}{dw}";
|
||||
Init();
|
||||
Init(true);
|
||||
//Utils.showToast(null, "请滑动划船机并开始", isLowest: true, type: 1);
|
||||
}
|
||||
|
||||
@@ -560,24 +559,27 @@ public class RowerHomeScript : PFUIPanel
|
||||
var strokeCount = RowerData.StrokeCount;
|
||||
var power = RowerData.InstantaneousPower;
|
||||
var rate = RowerData.StrokeRate;
|
||||
|
||||
|
||||
if (rowerType.type == 1)
|
||||
{
|
||||
TimeText.text = $"{RowerData.ElapsedTime}";
|
||||
KMText.text = "0";
|
||||
trainingTime = RowerData.TrainingTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
TimeText.text = TimeSpan.FromSeconds(0).ToPFString();
|
||||
KMText.text = $"{RowerData.TotalDistance}";
|
||||
trainingTime = rowerType.value;
|
||||
}
|
||||
|
||||
records.Add($"{strokeCount},{RowerData.ElapsedTime},{RowerData.TotalDistance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{RowerData.ElapsedTime}");
|
||||
truelyTime++;
|
||||
records.Add($"{strokeCount},{RowerData.ElapsedTime},{RowerData.TotalDistance},{RowerData.InstantaneousPower},{RowerData.InstantaneousPace},{RowerData.StrokeRate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
|
||||
var tmpdata = new TempRowerCalc() { strokeCount = strokeCount, pace = RowerData.InstantaneousPace, power = power, rate = rate, heartRate = heartRate, distance = (int)RowerData.TotalDistance, energy = energy };
|
||||
values.Add(tmpdata);
|
||||
SendDataToRace(tmpdata);
|
||||
HandleSaveDirect();
|
||||
}
|
||||
private double trainingTime = 0;
|
||||
private bool SaveFunc(RowerRecordModel model, List<string> files)
|
||||
{
|
||||
if (Application.internetReachability == NetworkReachability.NotReachable)
|
||||
@@ -588,13 +590,14 @@ public class RowerHomeScript : PFUIPanel
|
||||
return false;
|
||||
}
|
||||
|
||||
model.TrainingTime = trainingTime;
|
||||
model.ManufacturerName = deviceName + " " + deviceNetwork + " " + deviceSensor;
|
||||
model.DeviceNumber = $"{ deviceAddress },{ deviceSensor }";
|
||||
|
||||
var res = ConfigHelper.rowerApi.Add(model, files);
|
||||
if (res.result)
|
||||
{
|
||||
UIManager.ShowRowerWelldone(model.Id, Init);
|
||||
UIManager.ShowRowerWelldone(model.Id, ()=> Init());
|
||||
try
|
||||
{
|
||||
if (File.Exists(files[0]))
|
||||
@@ -671,8 +674,8 @@ 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 = values.Max(x=>x.strokeCount);
|
||||
model.TotalDistance = values.Max(x => x.distance);
|
||||
model.Kj = values.Max(x => x.energy);
|
||||
}
|
||||
model.TotalTime = records.Count;
|
||||
@@ -710,14 +713,16 @@ public class RowerHomeScript : PFUIPanel
|
||||
//Disconnect();
|
||||
}
|
||||
|
||||
private void Init()
|
||||
private void Init(bool init = false)
|
||||
{
|
||||
initRower = init;
|
||||
ResetChart();
|
||||
deviceName = "";
|
||||
deviceNetwork = "";
|
||||
deviceAddress = "";
|
||||
deviceSensor = "";
|
||||
pointCount = 0;
|
||||
trainingTime = 0;
|
||||
print("初始化");
|
||||
if (Rower != null)
|
||||
{
|
||||
@@ -745,21 +750,20 @@ public class RowerHomeScript : PFUIPanel
|
||||
openTimer = false;
|
||||
if (rowerType.type == 0)
|
||||
{
|
||||
Debug.Log("rowerType.type == 0");
|
||||
TimeText.text = "---";
|
||||
KMText.text = "---";
|
||||
}
|
||||
else
|
||||
if (rowerType.type == 1)
|
||||
{
|
||||
if (rowerType.type == 1)
|
||||
{
|
||||
TimeText.text = "---";
|
||||
KMText.text = $"{rowerType.value}";
|
||||
}
|
||||
else
|
||||
{
|
||||
TimeText.text = TimeSpan.FromSeconds(rowerType.value).ToPFString();
|
||||
KMText.text = "---";
|
||||
}
|
||||
Debug.Log("rowerType.type == 1");
|
||||
TimeText.text = "---";
|
||||
KMText.text = $"{rowerType.value}";
|
||||
}
|
||||
if (rowerType.type == 2)
|
||||
{
|
||||
TimeText.text = TimeSpan.FromSeconds(rowerType.value).ToPFString();
|
||||
KMText.text = "---";
|
||||
}
|
||||
|
||||
WText.text = "---";
|
||||
@@ -788,6 +792,8 @@ public class RowerHomeScript : PFUIPanel
|
||||
#endif
|
||||
C2RowerData.EnableChanged -= ModeChanged;
|
||||
C2RowerData.EnableChanged += ModeChanged;
|
||||
C2RowerData.RowerTypeChanged -= RowerTypeChanged;
|
||||
C2RowerData.RowerTypeChanged += RowerTypeChanged;
|
||||
if (RowerData != null)
|
||||
{
|
||||
RowerData.RowerResChanged -= ResChanged;
|
||||
@@ -810,7 +816,11 @@ public class RowerHomeScript : PFUIPanel
|
||||
Resources.UnloadUnusedAssets();
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
private void RowerTypeChanged(object sender, EventArgs e)
|
||||
{
|
||||
rowerType = C2RowerData.rowerType;
|
||||
HandleSelectType();
|
||||
}
|
||||
private void ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (RowerData != null)
|
||||
@@ -929,10 +939,8 @@ public class RowerHomeScript : PFUIPanel
|
||||
Debug.Log($"ElapsedTime :{RowerData.ElapsedTime} : {truelyTime}-{RowerData.TotalDistance}");
|
||||
TempRowerCalc tmpdata = null;
|
||||
|
||||
//解决C2里程训练无法结束的问题
|
||||
var c2notStop = C2RowerData.IsEnabled && rowerType!=null && rowerType.type !=0 && (rowerType.value-totalDistance) <= 5;
|
||||
//里程停止逻辑
|
||||
if (totalDistance == RowerData.TotalDistance && !c2notStop)
|
||||
if (totalDistance == RowerData.TotalDistance)
|
||||
{
|
||||
//判定一次停止
|
||||
stopSeconds++;
|
||||
@@ -1351,8 +1359,10 @@ public class RowerHomeScript : PFUIPanel
|
||||
}
|
||||
float staticTimer = 1f,shortTimer = 0.25f;
|
||||
int ticks { get; set; } = 0;
|
||||
bool initRower = false;
|
||||
void Update()
|
||||
{
|
||||
InitC2Rower();
|
||||
shortTimer -= Time.deltaTime;
|
||||
if (shortTimer <= 0)
|
||||
{
|
||||
@@ -1372,14 +1382,21 @@ public class RowerHomeScript : PFUIPanel
|
||||
TimerTicks();
|
||||
ticks++;
|
||||
}
|
||||
|
||||
HandleStatic();
|
||||
var heartRate = HeartRate ?? 0;
|
||||
BPMText.text = heartRate == 0 ? "---" : heartRate.ToString();
|
||||
HandleStatic();
|
||||
|
||||
timer += 1f ;
|
||||
}
|
||||
}
|
||||
private void InitC2Rower()
|
||||
{
|
||||
if (!initRower && Rower != null && RowerData != null && rowerType != null && C2RowerData.IsEnabled && C2RowerData.isReadyStatus)
|
||||
{
|
||||
initRower = true;
|
||||
HandleC2RowerTaskPanel(rowerType);
|
||||
}
|
||||
}
|
||||
|
||||
void ShortUpdateData()
|
||||
{
|
||||
if (!openTimer) return;
|
||||
@@ -1433,17 +1450,5 @@ public class RowerHomeScript : PFUIPanel
|
||||
transform.Find("Stopped/DeviceStatus").gameObject.SetActive(!flag);
|
||||
transform.Find("Stopped/DeviceStatusConnect").gameObject.SetActive(flag);
|
||||
}
|
||||
if (Rower != null)
|
||||
{
|
||||
if (C2RowerData.IsEnabled == true && !openTimer && !isPause && C2RowerData.rowerType!=null && rowerType!= null && !rowerType.EqualTo(C2RowerData.rowerType))
|
||||
{
|
||||
rowerType = C2RowerData.rowerType;
|
||||
HandleSelectType();
|
||||
}
|
||||
//if (C2RowerData.IsEnabled)
|
||||
//{
|
||||
// Rower.C2GetStatus(new byte[] { 0xc1 });
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -246,6 +246,8 @@ public class RowerMultiModeScript : MonoBehaviour
|
||||
StartCoroutine(Get(url, (res) =>
|
||||
{
|
||||
shadowList = res.data;
|
||||
if (shadowList == null)
|
||||
return;
|
||||
var _tmpList = shadowList.Select(x => new TraceData
|
||||
{
|
||||
list = x.list,
|
||||
|
||||
@@ -27,7 +27,7 @@ public class RowerTaskPanel : PFUIPanel
|
||||
}
|
||||
}
|
||||
Transform selector, distance, time;
|
||||
public RowerType rowerType;
|
||||
public RowerType rowerType { get; set; }
|
||||
|
||||
public Action<RowerType> callBack { get; set; }
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ public class RowerWelldone : PFUIPanel
|
||||
var game = i == 0 ? Instantiate<GameObject>(AllRecord) : Instantiate<GameObject>(Record);
|
||||
var content = i != 0 ? game.transform.Find("Content") : game.transform;
|
||||
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("Time").GetComponent<Text>().text = i == 0 ? TimeSpan.FromSeconds(item.Ticks).ToString(@"hh\:mm\:ss\.ff"): TimeSpan.FromSeconds(item.Ticks).ToString(@"hh\:mm\:ss");
|
||||
content.Find("Distance").GetComponent<Text>().text = item.Distance.ToString("#0");
|
||||
content.Find("500").GetComponent<Text>().text = TimeSpan.FromSeconds(item.Speed).ToString().Substring(3, 5);
|
||||
content.Find("Power").GetComponent<Text>().text = item.Power.ToString("#0");
|
||||
|
||||
Reference in new issue
Block a user