AR骑行beta
This commit is contained in:
1 parent
4d5bc8f080
commit
9b1bb3d9ba
45 files changed
+35055
-2401
No files matched your search
@@ -1,10 +1,9 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
||||
using Assets.Scripts;
|
||||
using Assets.Scripts.Apis.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
{
|
||||
@@ -14,7 +13,9 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
/// 第一个到终点的时间
|
||||
/// </summary>
|
||||
public DateTime? FirstEndTime { get; private set; }
|
||||
public int? FirstUserId { get; private set; }
|
||||
public GameRoomModel GameRoom { get; private set; }
|
||||
public List<RoomRankItem> mapWorkoutRecordRankings = new List<RoomRankItem>();
|
||||
|
||||
public GameModel(Route route,RouteResultParam param)
|
||||
: base(route, CyclingModel.Single)
|
||||
@@ -87,15 +88,69 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
protected override void BeforeRunAfterPakcData()
|
||||
{
|
||||
base.BeforeRunAfterPakcData();
|
||||
|
||||
var userList = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id,recorderData.RoomId).Where(c=>c.IsSelf == false).OrderByDescending(u => u.Saved).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance);
|
||||
int index = 0;
|
||||
List<CompetitionRankingSortModel> sort = new List<CompetitionRankingSortModel>();
|
||||
var userList = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id,recorderData.RoomId).OrderByDescending(u => u.Saved).ThenBy(d => d.CreateTime).ThenByDescending(d => d.EndDistance);
|
||||
if (userList.Any())
|
||||
{
|
||||
//计算关门时间
|
||||
foreach (var item in userList)
|
||||
{
|
||||
if(!FirstEndTime.HasValue && item.IsCompleted)
|
||||
if (!FirstEndTime.HasValue && item.IsCompleted)
|
||||
{
|
||||
FirstEndTime = Now.AddMinutes(GameRoom.CloseTime);
|
||||
FirstUserId = item.Id;
|
||||
}
|
||||
index++;
|
||||
double near = Math.Round(item.EndDistance - currentDistance, 2); //Math.Round(TurfHelper.GetDistances(point, item.Point), 2);
|
||||
|
||||
if (item.IsCompleted)
|
||||
{
|
||||
sort.Add(new CompetitionRankingSortModel
|
||||
{
|
||||
Index = index,
|
||||
Name = item.Name,
|
||||
Near = near,
|
||||
KGWeight = Math.Round(item.WeightKg, 2).ToString(),
|
||||
Speed = Math.Round(item.Speed, 1),
|
||||
CountryImg = item.Country,//ConfigHelper.Host + $"User/GetCountryImg?userid={ item.Id }",
|
||||
UserId = item.Id,
|
||||
IsSelf = item.IsSelf,
|
||||
Headimage = item.HeadImage,
|
||||
CreateTime = DateTime.MaxValue,
|
||||
EndDistance = item.EndDistance,
|
||||
IsCompleted = item.IsCompleted,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#region 骑行结束,比赛结果展示数据
|
||||
var results = new List<CompetitionResultModel>();
|
||||
if (recorderData.IsCompleted || recorderData.Saved)
|
||||
{
|
||||
var users1 = userList.Where(d => d.IsCompleted || d.Saved);
|
||||
if ((users1.Any() && users1.Any(d => mapWorkoutRecordRankings.All(u => u.UserId != d.Id)))
|
||||
|| mapWorkoutRecordRankings.All(u => u.UserId != recorderData.BelongUserId))
|
||||
{
|
||||
var result = ConfigHelper.GameRoomApi.GetDetail(GameRoom.RoomId);
|
||||
if (result.result)
|
||||
{
|
||||
mapWorkoutRecordRankings = result.data.RoomRankingList;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var ranking in mapWorkoutRecordRankings)
|
||||
{
|
||||
var needUpdate = sort.Where(c => c.UserId == ranking.UserId).FirstOrDefault();
|
||||
if (needUpdate != null)
|
||||
{
|
||||
ranking.WeightKG = needUpdate.KGWeight;
|
||||
needUpdate.Index = ranking.Rank;
|
||||
needUpdate.IsCompleted = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user