赛事微调&mapbox sqlite dll 更新

This commit is contained in:
lishuo 2021-08-10 16:36:13 +08:00
parent 9f19e951cc
commit 5642d3f1c9
21 changed files with 3194 additions and 2964 deletions

View File

@ -2260,6 +2260,84 @@ MonoBehaviour:
m_GradientStyle: 0 m_GradientStyle: 0
m_ColorSpace: -1 m_ColorSpace: -1
m_IgnoreAspectRatio: 1 m_IgnoreAspectRatio: 1
--- !u!1 &4628810211892911464
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8848468068791855183}
- component: {fileID: 7498785791851360517}
- component: {fileID: 1210113826313410971}
m_Layer: 5
m_Name: CloseTime
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8848468068791855183
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4628810211892911464}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8381767031396044147}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 267, y: 123.5}
m_SizeDelta: {x: 168, y: 55}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7498785791851360517
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4628810211892911464}
m_CullTransparentMesh: 0
--- !u!114 &1210113826313410971
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4628810211892911464}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.9764706, g: 0.1882353, b: 0.5254902, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 40
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 4
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 00:00:00
--- !u!1 &4873159523634155249 --- !u!1 &4873159523634155249
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2858,6 +2936,84 @@ MonoBehaviour:
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: Final Score m_Text: Final Score
--- !u!1 &6382303297311095966
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1296833046237003559}
- component: {fileID: 1608050800394294070}
- component: {fileID: 678355455578377788}
m_Layer: 5
m_Name: CloseTitle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1296833046237003559
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6382303297311095966}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8381767031396044147}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 267.5, y: 162}
m_SizeDelta: {x: 129, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1608050800394294070
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6382303297311095966}
m_CullTransparentMesh: 0
--- !u!114 &678355455578377788
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6382303297311095966}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Time Limit:'
--- !u!1 &6398670674635556121 --- !u!1 &6398670674635556121
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3799,6 +3955,8 @@ RectTransform:
- {fileID: 8648922130929884845} - {fileID: 8648922130929884845}
- {fileID: 6716961565728369172} - {fileID: 6716961565728369172}
- {fileID: 319842981081321693} - {fileID: 319842981081321693}
- {fileID: 1296833046237003559}
- {fileID: 8848468068791855183}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -346,8 +346,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 309.5, y: -128.5} m_AnchoredPosition: {x: 447.5, y: -128.5}
m_SizeDelta: {x: 499, y: 30} m_SizeDelta: {x: 775, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6055002719563706353 --- !u!222 &6055002719563706353
CanvasRenderer: CanvasRenderer:
@ -386,7 +386,7 @@ MonoBehaviour:
m_Alignment: 0 m_Alignment: 0
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: m_Text:
@ -1267,7 +1267,7 @@ MonoBehaviour:
m_Alignment: 4 m_Alignment: 4
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: 00:00:00 m_Text: 00:00:00
@ -2564,8 +2564,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 309.5, y: -86} m_AnchoredPosition: {x: 447.5, y: -86}
m_SizeDelta: {x: 499, y: 52} m_SizeDelta: {x: 775, y: 52}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6558498177387274039 --- !u!222 &6558498177387274039
CanvasRenderer: CanvasRenderer:
@ -2604,7 +2604,7 @@ MonoBehaviour:
m_Alignment: 0 m_Alignment: 0
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: m_Text:

View File

@ -1565,8 +1565,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 309.5, y: -86} m_AnchoredPosition: {x: 430, y: -86}
m_SizeDelta: {x: 499, y: 52} m_SizeDelta: {x: 740, y: 52}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3007624748799085431 --- !u!222 &3007624748799085431
CanvasRenderer: CanvasRenderer:

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,6 @@
namespace Assets.Scripts.Apis.Models using System;
namespace Assets.Scripts.Apis.Models
{ {
/// <summary> /// <summary>
/// 比赛排名的model /// 比赛排名的model
@ -10,7 +12,7 @@
public int RouteId { get; set; } public int RouteId { get; set; }
public double? AveragePower { get; set; } public double? AveragePower { get; set; }
public double? NormalizedPower { get; set; } public double? NormalizedPower { get; set; }
public string CreateTime { get; set; } public DateTime CreateTime { get; set; }
public int UserId { get; set; } public int UserId { get; set; }
public double? AverageCadence { get; set; } public double? AverageCadence { get; set; }
public int? MaxHeartRate { get; set; } public int? MaxHeartRate { get; set; }

View File

@ -162,9 +162,9 @@ namespace Assets.Scenes.Ride.Scripts
_canEnter = competition.CanEnter; _canEnter = competition.CanEnter;
#region #region
//赛事名称 //赛事名称
CompetitionTitle.text = competition.Title; CompetitionTitle.text = GetMaxString(competition.Title,40);
//线路名称 //线路名称
mapName.text = route.Name; mapName.text = GetMaxString(route.Name, 68);
//距离 //距离
distance.text = route.Distance.ToString("f1") + "KM"; distance.text = route.Distance.ToString("f1") + "KM";
//海拔 //海拔
@ -172,7 +172,7 @@ namespace Assets.Scenes.Ride.Scripts
//平均破度 //平均破度
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%"; slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";
//比赛开始时间 //比赛开始时间
StartTime.text = competition.StartTime.ToLocalTime().ToString()+" TO "+ competition.EndTime.ToLocalTime().ToString(); StartTime.text = competition.StartTime.ToLocalTime().ToString();//+" TO "+ competition.EndTime.ToLocalTime().ToString();
//比赛结束时间 //比赛结束时间
// EndTime.text = competition.EndTime.ToLocalTime().ToString(); // EndTime.text = competition.EndTime.ToLocalTime().ToString();
//比赛状态 //比赛状态
@ -203,7 +203,7 @@ namespace Assets.Scenes.Ride.Scripts
//异步请求mapbox画出当前路书路线图 //异步请求mapbox画出当前路书路线图
DrawMapRouteAsync(route.Id, 1); DrawMapRouteAsync(route.Id, 1);
} }
AddProcess(30); AddProcess(20);
#endregion #endregion
StartCoroutine(HiddenLoading()); StartCoroutine(HiddenLoading());
@ -234,7 +234,7 @@ namespace Assets.Scenes.Ride.Scripts
//查看赛事详情 //查看赛事详情
protected void ReadCompetitionPreview(BaseEventData baseEvent) protected void ReadCompetitionPreview(BaseEventData baseEvent)
{ {
Application.OpenURL(App.CurrentUser.WebHost + $"#/Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}"); Application.OpenURL(App.CurrentUser.WebHost + $"/Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}");
} }
protected override void StartRide(BaseEventData baseEvent) protected override void StartRide(BaseEventData baseEvent)
{ {
@ -262,7 +262,7 @@ namespace Assets.Scenes.Ride.Scripts
} }
protected void GoDetail(BaseEventData baseEvent) protected void GoDetail(BaseEventData baseEvent)
{ {
Application.OpenURL(App.CurrentUser.WebHost + $"#/Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}"); Application.OpenURL(App.CurrentUser.WebHost + $"/Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}");
} }
private void UpdateCompetition() private void UpdateCompetition()
@ -323,6 +323,7 @@ namespace Assets.Scenes.Ride.Scripts
if (data.result) if (data.result)
{ {
UpdateCompetition(); UpdateCompetition();
App.CompetitionIdList.Remove(cyclingController.competition.Id);
UIManager.UpdateJoinCompetition(); UIManager.UpdateJoinCompetition();
Utils.showToast(gameObject, "success", 2, 1); Utils.showToast(gameObject, "success", 2, 1);
} }

View File

@ -63,6 +63,8 @@ namespace Assets.Scenes.Ride.Scripts
rankingList = ss?.Sorts; rankingList = ss?.Sorts;
if (rankingList == null) return; if (rankingList == null) return;
rankingList = rankingList.OrderByDescending(u => u.IsCompleted).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance).ToList();
//当前参赛总人数 //当前参赛总人数
var totalCount = rankingList.Count(); var totalCount = rankingList.Count();
OnlineUserNum.text = " "+totalCount.ToString(); OnlineUserNum.text = " "+totalCount.ToString();
@ -97,6 +99,10 @@ namespace Assets.Scenes.Ride.Scripts
private void CreateOrUpdate(CompetitionRankingSortModel item) private void CreateOrUpdate(CompetitionRankingSortModel item)
{ {
var rankingList = FindObjectsOfType<CompetitionRankingItem>(); var rankingList = FindObjectsOfType<CompetitionRankingItem>();
foreach (var o in rankingList)
{
o.transform.SetAsFirstSibling();
}
var competitionRankingItem = rankingList.Where(c => c.UserId == item.UserId).FirstOrDefault(); var competitionRankingItem = rankingList.Where(c => c.UserId == item.UserId).FirstOrDefault();
//如果当前有这个用户则更新没有则创建并setslibingindex //如果当前有这个用户则更新没有则创建并setslibingindex
if (competitionRankingItem == null) if (competitionRankingItem == null)

View File

@ -29,6 +29,8 @@ namespace Assets.Scenes.Ride.Scripts
Text RankingTitle { get; set; } Text RankingTitle { get; set; }
Text TimerTitle { get; set; } Text TimerTitle { get; set; }
Text CloseTime { get; set; }
Text CloseTitle { get; set; }
private void Awake() private void Awake()
{ {
cyclingController = FindObjectOfType<CyclingController>(); cyclingController = FindObjectOfType<CyclingController>();
@ -46,6 +48,8 @@ namespace Assets.Scenes.Ride.Scripts
ThirdHead = transform.Find("Ranking/ThirdHead").GetComponent<RawImage>(); ThirdHead = transform.Find("Ranking/ThirdHead").GetComponent<RawImage>();
TitleImage = transform.Find("TitleImage").gameObject; TitleImage = transform.Find("TitleImage").gameObject;
WatchTitle = transform.Find("WatchTitle").gameObject; WatchTitle = transform.Find("WatchTitle").gameObject;
CloseTitle = transform.Find("CloseTitle").GetComponent<Text>();
CloseTime = transform.Find("CloseTime").GetComponent<Text>();
SpriteTop = Resources.Load<Sprite>("Images/Ride/Match/top-1"); SpriteTop = Resources.Load<Sprite>("Images/Ride/Match/top-1");
@ -58,11 +62,21 @@ namespace Assets.Scenes.Ride.Scripts
float time = 1; float time = 1;
private void Update() private void Update()
{ {
var model = cyclingController.cyclingController as CompetitionModel;
if (model != null)
{
var s = model.EndCountDown();
//显示关门时间
var isshow = s.Item3 && s.Item1 >= 0 && !cyclingController.isWatch;
CloseTime.text = Helper.FormatTicks(s.Item1);
CloseTitle.gameObject.SetActive(isshow);
CloseTime.gameObject.SetActive(isshow);
}
time -= Time.deltaTime; time -= Time.deltaTime;
while (time < 0) while (time < 0)
{ {
Refresh(); Refresh();
time = 1; time += 1;
} }
} }
@ -84,7 +98,6 @@ namespace Assets.Scenes.Ride.Scripts
{ {
var list = model?.competitionRankingModel?.Results; var list = model?.competitionRankingModel?.Results;
if (list == null) return; if (list == null) return;
var parent = transform.Find("ScrollView/Viewport/Content"); var parent = transform.Find("ScrollView/Viewport/Content");
Mine.SetActive(!cyclingController.isWatch); Mine.SetActive(!cyclingController.isWatch);
@ -178,7 +191,7 @@ namespace Assets.Scenes.Ride.Scripts
finalRankingItemScript.setSource(item.DeviceType); finalRankingItemScript.setSource(item.DeviceType);
finalRankingItemScript.setUserId(item.UserId,item.WxHeadImg); finalRankingItemScript.setUserId(item.UserId,item.WxHeadImg);
finalRankingItemScript.setRanking(item.Index); finalRankingItemScript.setRanking(item.Index);
finalRankingItemScript.setHeartRate(item.HeartRate.ToString("f0")); finalRankingItemScript.setHeartRate(item.HeartRate);
finalRankingItemScript.setName(item.Name); finalRankingItemScript.setName(item.Name);
finalRankingItemScript.setPower(item.Power.ToString()); finalRankingItemScript.setPower(item.Power.ToString());
finalRankingItemScript.setRatio(item.WeightKg.ToString("f2")); finalRankingItemScript.setRatio(item.WeightKg.ToString("f2"));

View File

@ -24,7 +24,7 @@ namespace Assets.Scenes.Ride.Scripts
//隐藏单人骑行时间 //隐藏单人骑行时间
var spilitLineH2 = transform.Find("Panel/ComputerPanel/SpilitLineH2").gameObject; var spilitLineH2 = transform.Find("Panel/ComputerPanel/SpilitLineH2").gameObject;
var raceViewBtn = transform.Find("Panel/RaceViewButton").gameObject; var raceViewBtn = transform.Find("Panel/RaceViewButton").gameObject;
raceViewBtn.SetActive(true); raceViewBtn.SetActive(mainController.isWatch);
viewButton.gameObject.SetActive(false); viewButton.gameObject.SetActive(false);
UIManager.AddEvent(raceViewBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, ChangeView); UIManager.AddEvent(raceViewBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, ChangeView);

View File

@ -43,7 +43,7 @@ namespace Assets.Scenes.Ride.Scripts
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent); var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
var finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>(); var finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
finalRankingItemScript.setRanking(item.Index); finalRankingItemScript.setRanking(item.Index);
finalRankingItemScript.setHeartRate(item.HeartRate.ToString("f0")); finalRankingItemScript.setHeartRate(item.HeartRate);
finalRankingItemScript.setName(item.Name); finalRankingItemScript.setName(item.Name);
finalRankingItemScript.setPower(item.Power.ToString()); finalRankingItemScript.setPower(item.Power.ToString());
finalRankingItemScript.setRatio(item.WeightKg.ToString("f2")); finalRankingItemScript.setRatio(item.WeightKg.ToString("f2"));

View File

@ -152,9 +152,9 @@ namespace Assets.Scenes.Ride.Scripts
Ranking.text = ranking.ToString().PadLeft(3,'0'); Ranking.text = ranking.ToString().PadLeft(3,'0');
} }
public void setHeartRate(string heartRate) public void setHeartRate(double? heartRate)
{ {
if (!heartRate.Equals("0")) if (heartRate.HasValue)
{ {
HeartRate.text = heartRate + "bpm"; HeartRate.text = heartRate + "bpm";
} }

View File

@ -109,7 +109,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
//} //}
//#endregion //#endregion
var userList = MapUDPService.GetCompetitionOnlineUsers(recorderData.Competitionid).OrderByDescending(u => u.IsCompleted).ThenByDescending(d => d.EndDistance); var userList = MapUDPService.GetCompetitionOnlineUsers(recorderData.Competitionid).OrderByDescending(u => u.IsCompleted).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance);
riders.RemoveAll(r => r.IsSelf == false); riders.RemoveAll(r => r.IsSelf == false);
int index = 0; int index = 0;
List<CompetitionRankingSortModel> sort = new List<CompetitionRankingSortModel>(); List<CompetitionRankingSortModel> sort = new List<CompetitionRankingSortModel>();
@ -157,9 +157,11 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
CountryImg = item.Country,//ConfigHelper.Host + $"User/GetCountryImg?userid={ item.Id }", CountryImg = item.Country,//ConfigHelper.Host + $"User/GetCountryImg?userid={ item.Id }",
UserId = item.Id, UserId = item.Id,
IsSelf = item.IsSelf, IsSelf = item.IsSelf,
Headimage =item.HeadImage Headimage = item.HeadImage,
CreateTime = DateTime.MaxValue,
EndDistance = item.EndDistance,
IsCompleted = item.IsCompleted
}); });
} }
} }
@ -180,11 +182,16 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
foreach (var ranking in mapWorkoutRecordRankings) foreach (var ranking in mapWorkoutRecordRankings)
{ {
//var ranking = mapWorkoutRecordRankings.SingleOrDefault(r => r.UserId == item.Id); //var ranking = mapWorkoutRecordRankings.SingleOrDefault(r => r.UserId == item.Id);
var needUpdate = sort.Where(c => c.UserId == ranking.UserId).FirstOrDefault();
if (needUpdate != null)
{
needUpdate.CreateTime = ranking.CreateTime.ToLocalTime();
}
var createTime = ""; var createTime = "";
if (ranking != null) if (ranking != null)
{ {
createTime = ranking.CreateTime; //.ToString("yyyy-MM-dd HH:mm:ss"); createTime = ranking.CreateTime.ToLocalTime().ToString(); //.ToString("yyyy-MM-dd HH:mm:ss");
} }
results.Add(new CompetitionResultModel results.Add(new CompetitionResultModel
{ {
@ -196,7 +203,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
//Time = ranking?.TotalTime ?? "", //Time = ranking?.TotalTime ?? "",
Power = ranking?.AveragePower ?? 0, Power = ranking?.AveragePower ?? 0,
BicycleWeight = ranking?.BicycleWeight ?? 0, BicycleWeight = ranking?.BicycleWeight ?? 0,
HeartRate = ranking?.AverageHeartRate ?? 0, HeartRate = ranking?.AverageHeartRate,
DeviceType = ranking?.DeviceType ?? "", DeviceType = ranking?.DeviceType ?? "",
CreateTime = createTime, CreateTime = createTime,
TripTime = ranking?.TripTime ?? "", TripTime = ranking?.TripTime ?? "",

View File

@ -29,6 +29,10 @@ namespace Assets.Scenes.Ride.Scripts.Model
public int UserId { get; set; } public int UserId { get; set; }
public bool IsSelf { get; set; } public bool IsSelf { get; set; }
public DateTime CreateTime { get; set; }
public bool IsCompleted { get; set; }
public double EndDistance { get; set; }
} }
/// <summary> /// <summary>
/// 结果页模型 /// 结果页模型
@ -50,7 +54,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
public double Weight { get; set; } public double Weight { get; set; }
public double BicycleWeight { get; set; } public double BicycleWeight { get; set; }
public double HeartRate { get; set; } public double? HeartRate { get; set; }
public string DeviceType { get; set; } public string DeviceType { get; set; }
@ -582,6 +586,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
} }
public string Country { get; set; } public string Country { get; set; }
public DateTime CreateTime { get; set; }
} }
public class KeyPaire public class KeyPaire

View File

@ -412,6 +412,7 @@ namespace Assets.Scenes.Ride.Scripts
} }
} }
user.IsWatcher = user.WatcherList.Contains(item.MemberId); user.IsWatcher = user.WatcherList.Contains(item.MemberId);
user.CreateTime = DateTime.MaxValue;
} }
else else
{ {

View File

@ -99,7 +99,8 @@ namespace Assets.Scenes.Ride.Scripts
rideNow = panel.transform.Find("RideNow").GetComponent<Button>(); rideNow = panel.transform.Find("RideNow").GetComponent<Button>();
rideNowText = rideNow.transform.Find("Text").GetComponent<Text>(); rideNowText = rideNow.transform.Find("Text").GetComponent<Text>();
cancel = panel.transform.Find("Cancel").GetComponent<Button>(); cancel = panel.transform.Find("Cancel").GetComponent<Button>();
var Model = transform.Find("ModalPanel");
Model.SetAsLastSibling();
var root = transform.parent; var root = transform.parent;
_map = root.Find("Map").GetComponent<AbstractMap>(); _map = root.Find("Map").GetComponent<AbstractMap>();
_map.OnInitialized += _map_OnInitialized; _map.OnInitialized += _map_OnInitialized;
@ -165,6 +166,12 @@ namespace Assets.Scenes.Ride.Scripts
rideNow.enabled = true; rideNow.enabled = true;
} }
} }
protected string GetMaxString(string value, int length)
{
var s = Helper.SubStr(value, length);
return s;
}
protected virtual void StartRide(BaseEventData baseEvent) protected virtual void StartRide(BaseEventData baseEvent)
{ {
var checkAnt = cyclingController.CheckAnt(); var checkAnt = cyclingController.CheckAnt();

View File

@ -358,7 +358,7 @@ namespace Assets.Scenes.Ride.Scripts
powerTxt.text = $"{currentPlayer.Power}"; powerTxt.text = $"{currentPlayer.Power}";
timerTxt.text = Helper.FormatTicks(currentPlayer.TotalTicks); timerTxt.text = Helper.FormatTicks(currentPlayer.TotalTicks);
ditance.text = Math.Round(currentPlayer.TotalDistance, 1).ToString("f1"); ditance.text = Math.Round(currentPlayer.TotalDistance, 1).ToString("f1");
heartRate.text = $"{Math.Round(currentPlayer.HeartRate, 0)}"; heartRate.text = (currentPlayer.HeartRate ?? 0).ToString();
candance.text = $"{Math.Round(currentPlayer.Cadance, 0)}"; candance.text = $"{Math.Round(currentPlayer.Cadance, 0)}";
preSlopeText.text = $"{Math.Round(currentPlayer.PreSlope, 1)}%"; preSlopeText.text = $"{Math.Round(currentPlayer.PreSlope, 1)}%";
currentSlopeToatalDistanceText.text = $"Total:{Math.Round(currentPlayer.CurrentDistance, 0)}M"; currentSlopeToatalDistanceText.text = $"Total:{Math.Round(currentPlayer.CurrentDistance, 0)}M";

View File

@ -24,7 +24,34 @@ namespace Assets.Scenes.Ride.Scripts
} }
return path; return path;
} }
public static string SubStr(string str, int length)
{
var index = 0;
var temp = "";
foreach (var item in str)
{
//Console.WriteLine(isChineseCharacter(item));
if (IsChineseCharacter(item))
{
index += 2;
}
else
{
index += 1;
}
temp += item;
if (length <= index)
{
return temp + "...";
}
}
return temp;
}
private static bool IsChineseCharacter(char c)
{
return (19968 <= (int)c) && ((int)c <= 171941);
}
public static void DelectDir(string srcPath) public static void DelectDir(string srcPath)
{ {
try try

View File

@ -59,7 +59,8 @@ namespace Assets.Scenes.Ride.Scripts
{ {
var route = cyclingController.mapRoute; var route = cyclingController.mapRoute;
#region #region
mapName.text = route.Name; //mapName.text = route.Name;
mapName.text = GetMaxString(route.Name, 40);
level.text = route.Hard; level.text = route.Hard;
elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M"; elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M";
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%"; slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";

View File

@ -60,7 +60,7 @@ public class UserInfoController : PFUIPanel
var createBtn = summaryPanel.Find("CreateBtn").gameObject; var createBtn = summaryPanel.Find("CreateBtn").gameObject;
UIManager.AddEvent(createBtn, EventTriggerType.PointerClick, (b) => UIManager.AddEvent(createBtn, EventTriggerType.PointerClick, (b) =>
{ {
Application.OpenURL(App.CurrentUser.WebHost + "#/Mine/EditMatch?Token=" + App.CurrentUser.cookie); Application.OpenURL(App.CurrentUser.WebHost + "/Mine/EditMatch?Token=" + App.CurrentUser.cookie);
}); });
} }

View File

@ -259,6 +259,7 @@ public class RaceItemScript : MonoBehaviour, IPointerExitHandler, IPointerEnterH
//SetStatus(mapCompetition); //SetStatus(mapCompetition);
//transform.Find("BtnContainer").gameObject.Destroy(); //transform.Find("BtnContainer").gameObject.Destroy();
//SetButtonGroup(mapCompetition); //SetButtonGroup(mapCompetition);
App.CompetitionIdList.Remove(mapCompetition.Id);
var res1 = ConfigHelper.mapCompetitionApi.GetById(mapCompetition.Id); var res1 = ConfigHelper.mapCompetitionApi.GetById(mapCompetition.Id);
if (res1.result) if (res1.result)
{ {