设备连接稳定性
This commit is contained in:
1 parent
c333086e30
commit
46b6c7fa01
9 files changed
+111
-62
No files matched your search
@@ -22,7 +22,7 @@ using static RowerTaskPanel;
|
||||
|
||||
public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
private class TempRowerCalc
|
||||
private class TempRowerCalc
|
||||
{
|
||||
public int power { get; set; }
|
||||
public ushort pace { get; set; }
|
||||
@@ -52,7 +52,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
Debug.Log("銷毀");
|
||||
if (RowerData != null)
|
||||
if (RowerData != null)
|
||||
{
|
||||
RowerData.PullChanged -= PaintPullCurve;
|
||||
RowerData.StartEvent -= StartFunc;
|
||||
@@ -60,11 +60,11 @@ public class RowerHomeScript : PFUIPanel
|
||||
}
|
||||
C2RowerData.EnableChanged -= ModeChanged;
|
||||
}
|
||||
private IRowerDevice Rower
|
||||
private IRowerDevice Rower
|
||||
{
|
||||
get
|
||||
{
|
||||
var device = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => (d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && d.Sensor == SensorType.Rower);
|
||||
var device = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => d.State == DeviceState.Connected && d.Sensor == SensorType.Rower);
|
||||
if (device != null)
|
||||
{
|
||||
return (IRowerDevice)device;
|
||||
@@ -75,9 +75,9 @@ public class RowerHomeScript : PFUIPanel
|
||||
/// <summary>
|
||||
/// 心率数据
|
||||
/// </summary>
|
||||
private int? HeartRate
|
||||
private int? HeartRate
|
||||
{
|
||||
get
|
||||
get
|
||||
{
|
||||
var device = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => (d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && d.Sensor == SensorType.HeartRate);
|
||||
if (device != null)
|
||||
@@ -88,12 +88,12 @@ public class RowerHomeScript : PFUIPanel
|
||||
}
|
||||
}
|
||||
GameObject btnStart;
|
||||
Transform left, bottom, mid,rmydata;
|
||||
Transform left, bottom, mid, rmydata;
|
||||
Image leftImage;
|
||||
Image rightImage;
|
||||
float timer = 1.0f;
|
||||
List<DoubleVector2> pullList, historyPullList;
|
||||
public Dictionary<object, Sprite> spriteDict,spriteDict2;
|
||||
public Dictionary<object, Sprite> spriteDict, spriteDict2;
|
||||
List<string> records;
|
||||
List<TempRowerCalc> values;
|
||||
DateTime startTime;
|
||||
@@ -127,7 +127,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
Id = Guid.NewGuid().ToString();
|
||||
rowerType = new RowerType() { type = 1, value = 500 };
|
||||
|
||||
|
||||
spriteDict = new Dictionary<object, Sprite>()
|
||||
{
|
||||
{"Start",Resources.Load<Sprite>("Images/RowerNew/ICON_continue_44") },
|
||||
@@ -201,19 +201,19 @@ public class RowerHomeScript : PFUIPanel
|
||||
|
||||
UIManager.AddEvent(transform.Find("ResBar/BtnAdd").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
|
||||
{
|
||||
if (RowerData != null)
|
||||
if (RowerData != null)
|
||||
{
|
||||
slider.GetComponent<PFUISlider>().SetValue((RowerData.ResistanceLevel + 1 - 50) / 300f);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
UIManager.AddEvent(transform.Find("ResBar/BtnSub").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
|
||||
{
|
||||
if (RowerData != null)
|
||||
if (RowerData != null)
|
||||
{
|
||||
slider.GetComponent<PFUISlider>().SetValue((RowerData.ResistanceLevel - 1 - 50) / 300f);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
slider.GetComponent<PFUISlider>().valueHandler = (a) => 50 + a * 300;
|
||||
slider.GetComponent<PFUISlider>().SetValueChanged(r =>
|
||||
@@ -240,12 +240,12 @@ public class RowerHomeScript : PFUIPanel
|
||||
});
|
||||
UIManager.AddEvent(transform.Find("Stopped/DeviceStatus").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
|
||||
{
|
||||
if (checkRowing()) return;
|
||||
//if (checkRowing()) return;
|
||||
UIManager.ShowRowerDevicePanel();
|
||||
});
|
||||
UIManager.AddEvent(transform.Find("Stopped/DeviceStatusConnect").gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
|
||||
{
|
||||
if (checkRowing()) return;
|
||||
//if (checkRowing()) return;
|
||||
UIManager.ShowRowerDevicePanel();
|
||||
});
|
||||
//手机版tab
|
||||
@@ -260,13 +260,13 @@ public class RowerHomeScript : PFUIPanel
|
||||
//return;
|
||||
if (checkRowing()) return;
|
||||
if (C2RowerData.IsEnabled == true && C2RowerData.rowerType != null) return;
|
||||
UIManager.ShowRowerTaskPanel(type=>
|
||||
UIManager.ShowRowerTaskPanel(type =>
|
||||
{
|
||||
rowerType = type;
|
||||
HandleSelectType();
|
||||
},rowerType);
|
||||
}, rowerType);
|
||||
}, false);
|
||||
var c2 = new NewMainNav.CustomButton(Resources.Load<Sprite>("Images/RowerNew/记录"), () =>
|
||||
var c2 = new NewMainNav.CustomButton(Resources.Load<Sprite>("Images/RowerNew/记录"), () =>
|
||||
{
|
||||
if (checkRowing()) return;
|
||||
UIManager.ShowResultListPanel();
|
||||
@@ -289,7 +289,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
Discard();
|
||||
});
|
||||
if (RowerData != null)
|
||||
if (RowerData != null)
|
||||
{
|
||||
RowerData.PullChanged -= PaintPullCurve;
|
||||
RowerData.PullChanged += PaintPullCurve;
|
||||
@@ -306,9 +306,9 @@ public class RowerHomeScript : PFUIPanel
|
||||
public void ReRow(RowerResultModel r)
|
||||
{
|
||||
this.reRowData = r;
|
||||
if (r!= null && r.Type.HasValue)
|
||||
if (r != null && r.Type.HasValue)
|
||||
{
|
||||
rowerType = new RowerType { type = r.Type.Value,value = (float)r.TypeValue.Value };
|
||||
rowerType = new RowerType { type = r.Type.Value, value = (float)r.TypeValue.Value };
|
||||
if (Rower != null)
|
||||
{
|
||||
Rower.Reset();
|
||||
@@ -320,15 +320,15 @@ public class RowerHomeScript : PFUIPanel
|
||||
if (rowerType.type == 0)
|
||||
{
|
||||
dw = $"\nM/ 30Min";
|
||||
}
|
||||
else if (rowerType.type == 2)
|
||||
}
|
||||
else if (rowerType.type == 2)
|
||||
{
|
||||
dw = $"\nM";
|
||||
}
|
||||
bottom.Find("Expected/Title").GetComponent<Text>().text = $"{App.GetLocalString("EST")}{dw}";
|
||||
}
|
||||
}
|
||||
private void DeleteCacheDir()
|
||||
private void DeleteCacheDir()
|
||||
{
|
||||
//删除实时记录
|
||||
try
|
||||
@@ -340,12 +340,12 @@ public class RowerHomeScript : PFUIPanel
|
||||
//Directory.Delete(dir, true);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError(e.ToString());
|
||||
}
|
||||
}
|
||||
private void Discard()
|
||||
private void Discard()
|
||||
{
|
||||
openTimer = false;
|
||||
if (Application.internetReachability == NetworkReachability.NotReachable)
|
||||
@@ -392,12 +392,17 @@ public class RowerHomeScript : PFUIPanel
|
||||
//Utils.showToast(null, "请滑动划船机并开始", isLowest: true, type: 1);
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
base.OnDisable();
|
||||
//App.MainDeviceAdapter.StopScan();
|
||||
}
|
||||
public override void Show()
|
||||
{
|
||||
base.Show();
|
||||
//var mainNav = this.transform.Find("MainNav").GetComponent<MainNav>();
|
||||
//mainNav.ShowRowerTab();
|
||||
|
||||
//App.MainDeviceAdapter.StartScan();
|
||||
transform.MyDOFade();
|
||||
//Debug.Log("140,开始扫描");
|
||||
//App.MainDeviceAdapter.StartScan();
|
||||
@@ -405,18 +410,18 @@ public class RowerHomeScript : PFUIPanel
|
||||
CheckLocalData();
|
||||
//transform.Find("Left/Rower").GetComponent<RowerAnimation>().StartAnimation();
|
||||
}
|
||||
void Disconnect()
|
||||
void Disconnect()
|
||||
{
|
||||
foreach(var d in App.MainDeviceAdapter.GetDevices())
|
||||
foreach (var d in App.MainDeviceAdapter.GetDevices())
|
||||
{
|
||||
if ((d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && (d.Sensor == SensorType.Rower || d.Sensor == SensorType.HeartRate))
|
||||
if ((d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && (d.Sensor == SensorType.Rower || d.Sensor == SensorType.HeartRate))
|
||||
{
|
||||
d.Disconnect();
|
||||
}
|
||||
}
|
||||
App.MainDeviceAdapter.StopScan();
|
||||
}
|
||||
void HandleDiscardDirect()
|
||||
void HandleDiscardDirect()
|
||||
{
|
||||
openTimer = false;
|
||||
isPause = true;
|
||||
@@ -425,7 +430,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
btnStart.tag = "Start";
|
||||
Init();
|
||||
}
|
||||
void HandleSaveDirect()
|
||||
void HandleSaveDirect()
|
||||
{
|
||||
openTimer = false;
|
||||
isPause = true;
|
||||
@@ -440,7 +445,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
if (Save()) Init();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (SaveFunc(tempRecordData.model, tempRecordData.files)) Init();
|
||||
}
|
||||
@@ -450,7 +455,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
{
|
||||
Utils.showToast(null, "Press \"Menu\" to save.", int.MaxValue, stopFunc: () => C2RowerData.isReadyStatus, endCallback: f);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
f.Invoke();
|
||||
}
|
||||
@@ -459,15 +464,15 @@ public class RowerHomeScript : PFUIPanel
|
||||
int truelyTime = 0;
|
||||
private void StartFunc(object sender, EventArgs e)
|
||||
{
|
||||
if (UIManager.Instance.confirm!=null && UIManager.Instance.confirm.IsActive())
|
||||
if (UIManager.Instance.confirm != null && UIManager.Instance.confirm.IsActive())
|
||||
{
|
||||
print("当前有弹窗");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (openTimer) return;
|
||||
Id = Guid.NewGuid().ToString();
|
||||
if (transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)") && transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)").gameObject.activeInHierarchy)
|
||||
if (transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)") && transform.parent.parent.Find("ModalPanel/RowerWelldone(Clone)").gameObject.activeInHierarchy)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -479,7 +484,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
}
|
||||
if (!isPause)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
if (!openTimer)
|
||||
{
|
||||
@@ -498,9 +503,9 @@ public class RowerHomeScript : PFUIPanel
|
||||
btnStart.GetComponent<Image>().sprite = spriteDict["Untagged"];
|
||||
btnStart.tag = "Untagged";
|
||||
}
|
||||
private bool SaveFunc(RowerRecordModel model, List<string> files)
|
||||
private bool SaveFunc(RowerRecordModel model, List<string> files)
|
||||
{
|
||||
if (Application.internetReachability == NetworkReachability.NotReachable)
|
||||
if (Application.internetReachability == NetworkReachability.NotReachable)
|
||||
{
|
||||
transform.Find("Stopped").gameObject.SetActive(true);
|
||||
Utils.showToast(null, App.GetLocalString("Please check the network status!"));
|
||||
@@ -531,11 +536,11 @@ public class RowerHomeScript : PFUIPanel
|
||||
tempRecordData = null;
|
||||
return true;
|
||||
}
|
||||
public class TempRecordData
|
||||
public class TempRecordData
|
||||
{
|
||||
public RowerRecordModel model;
|
||||
public List<string> files;
|
||||
public TempRecordData(RowerRecordModel model, List<string> files)
|
||||
public TempRecordData(RowerRecordModel model, List<string> files)
|
||||
{
|
||||
this.model = model;
|
||||
this.files = files;
|
||||
@@ -547,15 +552,21 @@ public class RowerHomeScript : PFUIPanel
|
||||
RowerRecordModel model = new RowerRecordModel();
|
||||
model.Ticks = records.Count;
|
||||
var bleDevice = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => (d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && d.Sensor == SensorType.Rower) as BleDevice;
|
||||
if (bleDevice != null)
|
||||
if (bleDevice != null)
|
||||
{
|
||||
model.ManufacturerName = bleDevice.Name + " " + bleDevice.Network + " " + bleDevice.Sensor;
|
||||
model.DeviceNumber = $"{ bleDevice.Address },{ bleDevice.Sensor }";
|
||||
}
|
||||
model.Id = Id;//Guid.NewGuid().ToString();
|
||||
model.Weight = App.CurrentUser.Weight;
|
||||
|
||||
model.StartTime = createTime.Value.AddSeconds(-values.Count);
|
||||
if (string.IsNullOrEmpty(shadowids))
|
||||
{
|
||||
model.StartTime = startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
model.StartTime = createTime.Value.AddSeconds(-values.Count);
|
||||
}
|
||||
model.CreateTime = createTime.Value;
|
||||
Debug.Log(values.Count);
|
||||
if (values.Count > 0)
|
||||
@@ -786,7 +797,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
#if !UNITY_EDITOR
|
||||
if (Rower == null)
|
||||
{
|
||||
HandleDiscardDirect();
|
||||
//HandleDiscardDirect();
|
||||
return;
|
||||
}
|
||||
if (RowerData == null) return;
|
||||
@@ -1251,7 +1262,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
//graph.DataSource.AddPointToCategoryRealtime("Player 2", item.x, item.y);
|
||||
if (M1.localPosition.x == 0)
|
||||
{
|
||||
rowerGraphChartFeed.SetData(v1, v2);
|
||||
rowerGraphChartFeed.SetData(v1, v2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user