AR骑行beta

This commit is contained in:
lishuo committed 2022-08-05 15:10:09 +08:00
1 parent 4d5bc8f080
commit 9b1bb3d9ba
45 files changed
+35055 -2401

No files matched your search

@@ -167,16 +167,21 @@ namespace Assets.Scenes.Ride.Scripts
public void setUserId(int userId,string WxHeadImg)
{
_userId = userId;
var isself = userId == cyclingController.currentPlayer.UserId && !cyclingController.isWatch;
bool isself;
if (cyclingController != null)
{
isself = userId == cyclingController.currentPlayer.UserId && !cyclingController.isWatch;
}
else
{
isself = userId == App.CurrentUser.Id;
}
//头像根据是否是自己显示
if (isself)
{
Utils.DisplayImage(Head, WxHeadImg, true);
}
Head.gameObject.SetActive(isself);
//边框样式
var color = isself ? WHITE : TRANSPARENT;
//outline.effectColor = color;
}
}
}
@@ -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
}
}
}