增加长时间保存,解决取影子以后后续请求失效问题(使用unity的请求库)
This commit is contained in:
1 parent
d498dd9148
commit
6effadc1e9
6 files changed
+1648
-1537
No files matched your search
@@ -287,6 +287,7 @@ public class RowerHomeScript : PFUIPanel
|
||||
rowerType = new RowerType { type = 1, value = 500 };
|
||||
HandleSelectType();
|
||||
Init();
|
||||
|
||||
}
|
||||
|
||||
RowerResultModel reRowData = null;
|
||||
@@ -523,11 +524,11 @@ public class RowerHomeScript : PFUIPanel
|
||||
}
|
||||
}
|
||||
TempRecordData tempRecordData;
|
||||
private bool Save()
|
||||
private bool Save(string shadowids = null)
|
||||
{
|
||||
var bleDevice = App.MainDeviceAdapter.GetDevices().FirstOrDefault(d => (d.State == DeviceState.Connected || d.State == DeviceState.Connecting) && d.Sensor == SensorType.Rower) as BleDevice;
|
||||
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)
|
||||
{
|
||||
model.ManufacturerName = bleDevice.Name + " " + bleDevice.Network + " " + bleDevice.Sensor;
|
||||
@@ -535,8 +536,8 @@ public class RowerHomeScript : PFUIPanel
|
||||
}
|
||||
model.Id = Id;//Guid.NewGuid().ToString();
|
||||
model.Weight = App.CurrentUser.Weight;
|
||||
model.Kj = RowerData.TotalEnergy;
|
||||
model.StartTime = startTime;
|
||||
|
||||
model.StartTime = createTime.Value.AddSeconds(-values.Count);
|
||||
model.CreateTime = createTime.Value;
|
||||
Debug.Log(values.Count);
|
||||
if (values.Count > 0)
|
||||
@@ -554,11 +555,13 @@ public class RowerHomeScript : PFUIPanel
|
||||
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.Kj = values.Max(x => x.energy);
|
||||
}
|
||||
model.TotalTime = RowerData.ElapsedTime;
|
||||
model.TotalTime = records.Count;
|
||||
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));
|
||||
|
||||
model.ShadowIds = string.IsNullOrEmpty(shadowids)?string.Join(",",GetComponent<RowerMultiModeScript>().shadowList.Select(x=>x.Nid)):shadowids;
|
||||
var path = PFConstants.RowerRecordFolder + "/" + model.Id;
|
||||
Helper.CreateDirectoryIfNotExsit(path);
|
||||
var files = new List<string>();
|
||||
@@ -940,45 +943,107 @@ public class RowerHomeScript : PFUIPanel
|
||||
var files = Directory.GetFiles(dir);
|
||||
if (files.Length == 0)
|
||||
return;
|
||||
UIManager.ShowConfirm(App.GetLocalString("Warning"), App.GetLocalString("Continue the game?"), () =>
|
||||
var historyRowerTime = PlayerPrefs.GetString("historyRowerTime");
|
||||
if (!string.IsNullOrEmpty(historyRowerTime))
|
||||
{
|
||||
var str = File.ReadAllText(files[0]);
|
||||
var list = str.Replace("\r\n", " ").Split(' ');
|
||||
records.Clear();
|
||||
foreach (var item in list)
|
||||
if ((UIManager.Now.GetDateTime() - Convert.ToDateTime(historyRowerTime)).TotalMinutes >= 2)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(item))
|
||||
|
||||
UIManager.ShowConfirm(App.GetLocalString("Warning"), App.GetLocalString("Save the game?"), () =>
|
||||
{
|
||||
records.Add(item);
|
||||
}
|
||||
//records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{power},{pace},{rate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
|
||||
var _re = records.LastOrDefault();
|
||||
if (!string.IsNullOrEmpty(_re))
|
||||
{
|
||||
var datas = _re.Split(',');
|
||||
historyTime = int.Parse(datas[10]);
|
||||
var str = File.ReadAllText(files[0]);
|
||||
var list = str.Replace("\r\n", " ").Split(' ');
|
||||
records.Clear();
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(item))
|
||||
{
|
||||
var datas = item.Split(',');
|
||||
records.Add(item);
|
||||
values.Add(new TempRowerCalc() {
|
||||
strokeCount = int.Parse(datas[0]),
|
||||
pace = ushort.Parse(datas[4]),
|
||||
power = int.Parse(datas[3]),
|
||||
rate = uint.Parse(datas[5]),
|
||||
heartRate = int.Parse(datas[7]),
|
||||
distance = int.Parse(datas[2]),
|
||||
energy = int.Parse(datas[8]) });
|
||||
}
|
||||
//records.Add($"{strokeCount}0,{RowerData.ElapsedTime},{distance}2,{power}3,{pace}4,{rate}5,{RowerData.ResistanceLevel},{heartRate}7,{energy}8,{RowerData.AveragePower},{truelyTime}");
|
||||
}
|
||||
var historyRowerType = PlayerPrefs.GetString("historyRowerType");
|
||||
if (!string.IsNullOrEmpty(historyRowerType))
|
||||
{
|
||||
var typeObject = historyRowerType.Split(',');
|
||||
rowerType = new RowerType() { type = int.Parse(typeObject[0]), value = float.Parse(typeObject[1]) };
|
||||
HandleSelectType();
|
||||
}
|
||||
historyTime = int.Parse(datas[10]);
|
||||
historyStrokeCount = int.Parse(datas[0]);
|
||||
historyDistance = int.Parse(datas[2]);
|
||||
seconds = historyTime;
|
||||
historyEnergy = int.Parse(datas[8]);
|
||||
}
|
||||
createTime = UIManager.Now.GetDateTime();
|
||||
Save(PlayerPrefs.GetString("historyRowerShadowIds"));
|
||||
Helper.DelectDir(dir);
|
||||
UIManager.CloseConfirm();
|
||||
}, 2,
|
||||
() =>
|
||||
{
|
||||
Helper.DelectDir(dir);
|
||||
UIManager.CloseConfirm();
|
||||
});
|
||||
}
|
||||
Helper.DelectDir(dir);
|
||||
UIManager.CloseConfirm();
|
||||
}, 2,
|
||||
() =>
|
||||
{
|
||||
Helper.DelectDir(dir);
|
||||
UIManager.CloseConfirm();
|
||||
});
|
||||
else
|
||||
{
|
||||
|
||||
UIManager.ShowConfirm(App.GetLocalString("Warning"), App.GetLocalString("Continue the game?"), () =>
|
||||
{
|
||||
var str = File.ReadAllText(files[0]);
|
||||
var list = str.Replace("\r\n", " ").Split(' ');
|
||||
records.Clear();
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(item))
|
||||
{
|
||||
var datas = item.Split(',');
|
||||
records.Add(item);
|
||||
values.Add(new TempRowerCalc()
|
||||
{
|
||||
strokeCount = int.Parse(datas[0]),
|
||||
pace = ushort.Parse(datas[4]),
|
||||
power = int.Parse(datas[3]),
|
||||
rate = uint.Parse(datas[5]),
|
||||
heartRate = int.Parse(datas[7]),
|
||||
distance = int.Parse(datas[2]),
|
||||
energy = int.Parse(datas[8])
|
||||
});
|
||||
}
|
||||
//records.Add($"{strokeCount},{RowerData.ElapsedTime},{distance},{power},{pace},{rate},{RowerData.ResistanceLevel},{heartRate},{energy},{RowerData.AveragePower},{truelyTime}");
|
||||
|
||||
}
|
||||
var _re = records.LastOrDefault();
|
||||
if (!string.IsNullOrEmpty(_re))
|
||||
{
|
||||
var datas = _re.Split(',');
|
||||
historyTime = int.Parse(datas[10]);
|
||||
var historyRowerType = PlayerPrefs.GetString("historyRowerType");
|
||||
if (!string.IsNullOrEmpty(historyRowerType))
|
||||
{
|
||||
var typeObject = historyRowerType.Split(',');
|
||||
rowerType = new RowerType() { type = int.Parse(typeObject[0]), value = float.Parse(typeObject[1]) };
|
||||
HandleSelectType();
|
||||
}
|
||||
historyTime = int.Parse(datas[10]);
|
||||
historyStrokeCount = int.Parse(datas[0]);
|
||||
historyDistance = int.Parse(datas[2]);
|
||||
seconds = historyTime;
|
||||
historyEnergy = int.Parse(datas[8]);
|
||||
}
|
||||
Helper.DelectDir(dir);
|
||||
UIManager.CloseConfirm();
|
||||
}, 2,
|
||||
() =>
|
||||
{
|
||||
Helper.DelectDir(dir);
|
||||
UIManager.CloseConfirm();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -1000,6 +1065,9 @@ public class RowerHomeScript : PFUIPanel
|
||||
File.WriteAllText(path, string.Join("\r\n", records));
|
||||
File.WriteAllText($"{PFConstants.RowerRecordCacheFolder}/cache.txt", string.Join("\r\n", App.cacheList));
|
||||
PlayerPrefs.SetString("historyRowerType", $"{rowerType.type},{rowerType.value}");
|
||||
PlayerPrefs.SetString("historyRowerTime", UIManager.Now.GetDateTime().ToString());
|
||||
PlayerPrefs.SetString("historyRowerShadowIds", string.Join(",", GetComponent<RowerMultiModeScript>().shadowList.Select(x => x.Nid)));
|
||||
//Debug.Log(Convert.ToDateTime());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user