多人暂存
This commit is contained in:
parent
9e2e778e12
commit
dc8f8ceb80
@ -2,14 +2,9 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
|
||||||
using RenderHeads.Media.AVProVideo;
|
using RenderHeads.Media.AVProVideo;
|
||||||
using Assets.Scripts.Scenes.VideoRide;
|
using Assets.Scripts.Scenes.VideoRide;
|
||||||
using Assets.Core;
|
|
||||||
using Assets.Scenes.Ride.Scripts.Model;
|
|
||||||
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
||||||
using DG.Tweening;
|
|
||||||
using System.Collections;
|
|
||||||
|
|
||||||
namespace Assets.AR
|
namespace Assets.AR
|
||||||
{
|
{
|
||||||
@ -81,13 +76,13 @@ namespace Assets.AR
|
|||||||
|
|
||||||
protected override void Update()
|
protected override void Update()
|
||||||
{
|
{
|
||||||
if (!manager.IsStart())
|
if (manager.IsQuit())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
timers -= Time.deltaTime;
|
timers -= Time.deltaTime;
|
||||||
|
|
||||||
while (timers <= 0)
|
while (timers <= 0)
|
||||||
{
|
{
|
||||||
//this.riderObjects.Clear();
|
|
||||||
foreach (var dic in manager.rideObjs)
|
foreach (var dic in manager.rideObjs)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -101,7 +96,7 @@ namespace Assets.AR
|
|||||||
item.DeltaDistance = (float)(dic.Key.EndDistance - dic.Key.PreDistance);
|
item.DeltaDistance = (float)(dic.Key.EndDistance - dic.Key.PreDistance);
|
||||||
item.Route = Route;
|
item.Route = Route;
|
||||||
item.VideoSync = videoPointsSync;
|
item.VideoSync = videoPointsSync;
|
||||||
if(!this.arObjects.Contains(item))
|
if (!this.arObjects.Contains(item))
|
||||||
this.arObjects.Add(item);
|
this.arObjects.Add(item);
|
||||||
if (!this.riderObjects.ContainsKey(item.GetInstanceID()))
|
if (!this.riderObjects.ContainsKey(item.GetInstanceID()))
|
||||||
this.riderObjects.Add(item.GetInstanceID(), item);
|
this.riderObjects.Add(item.GetInstanceID(), item);
|
||||||
@ -109,7 +104,7 @@ namespace Assets.AR
|
|||||||
timers += 1f;
|
timers += 1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mainRiderObject == null)
|
if (mainRiderObject == null || Route == null)
|
||||||
return;
|
return;
|
||||||
var delta = Time.deltaTime;
|
var delta = Time.deltaTime;
|
||||||
foreach (var obj in this.riderObjects.Values)
|
foreach (var obj in this.riderObjects.Values)
|
||||||
@ -748,7 +743,9 @@ namespace Assets.AR
|
|||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
public void Pause() => this.paused = true;
|
||||||
|
|
||||||
|
public void Resume() => this.paused = false;
|
||||||
|
|
||||||
private class VisibleRiderItem
|
private class VisibleRiderItem
|
||||||
{
|
{
|
||||||
|
|||||||
@ -77,6 +77,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
|||||||
WeightKg = item.WeightKg,
|
WeightKg = item.WeightKg,
|
||||||
Sex = item.Sex,
|
Sex = item.Sex,
|
||||||
FrameRate = item.FrameRate,
|
FrameRate = item.FrameRate,
|
||||||
|
Speed = item.Speed
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -47,6 +47,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
{
|
{
|
||||||
if (_contactList != null) _contactList.Clear();
|
if (_contactList != null) _contactList.Clear();
|
||||||
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);
|
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);
|
||||||
|
var currentPlayer = list.Where(c => c.IsSelf).FirstOrDefault();
|
||||||
list = list.Where(c => c.Id != App.CurrentUser.Id).ToList();
|
list = list.Where(c => c.Id != App.CurrentUser.Id).ToList();
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
@ -71,7 +72,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
var currenList = GetComponentsInChildren<ListItem>(true);
|
var currenList = GetComponentsInChildren<ListItem>(true);
|
||||||
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam,manager.cyclingController.recorderData.RoomId);//最新列表
|
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam,manager.cyclingController.recorderData.RoomId);//最新列表
|
||||||
var currentPlayerInfo = list.Where(c => c.Id.ToString() == manager.CurrentPlayer.UserId.ToString()).FirstOrDefault();
|
var currentPlayerInfo = list.Where(c => c.Id.ToString() == manager.CurrentPlayer.UserId.ToString()).FirstOrDefault();
|
||||||
list = list.Where(c => c.Id != App.CurrentUser.Id).ToList();
|
list = list.Where(c => c.Id != App.CurrentUser.Id).OrderByDescending(c=>c.EndDistance).ToList();
|
||||||
if (currenList.Count() == 0 && list.Count() > 0)
|
if (currenList.Count() == 0 && list.Count() > 0)
|
||||||
{
|
{
|
||||||
InitData();
|
InitData();
|
||||||
@ -81,8 +82,9 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentPlayer = FindObjectOfType<VideoPlayer>();
|
var currentPlayer = manager.CurrentPlayer;
|
||||||
|
if (currentPlayer == null)
|
||||||
|
return;
|
||||||
foreach (ListItem o in currenList)
|
foreach (ListItem o in currenList)
|
||||||
{
|
{
|
||||||
if (currentPlayer.UserId.ToString() == o.Id)
|
if (currentPlayer.UserId.ToString() == o.Id)
|
||||||
@ -93,6 +95,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
var left = Math.Round((needUpdate.EndDistance - currentPlayerInfo.EndDistance) * 1000);
|
var left = Math.Round((needUpdate.EndDistance - currentPlayerInfo.EndDistance) * 1000);
|
||||||
o.UpdateItem(needUpdate.Name, left.ToString() + "M", needUpdate.Id.ToString());
|
o.UpdateItem(needUpdate.Name, left.ToString() + "M", needUpdate.Id.ToString());
|
||||||
o.gameObject.SetActive(true);
|
o.gameObject.SetActive(true);
|
||||||
|
o.transform.SetSiblingIndex((int)left);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
using Assets.Scenes.Ride.Scripts;
|
using Assets.Scenes.Ride.Scripts;
|
||||||
using Assets.Scenes.Ride.Scripts.Model;
|
using Assets.Scenes.Ride.Scripts.Model;
|
||||||
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
|
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
|
||||||
using Assets.Scripts.Apis;
|
|
||||||
using Assets.Scripts.Apis.Models;
|
using Assets.Scripts.Apis.Models;
|
||||||
using Assets.Scripts.UI.Prefab.Device;
|
using Assets.Scripts.UI.Prefab.Device;
|
||||||
using GeoJSON.Net.Geometry;
|
using GeoJSON.Net.Geometry;
|
||||||
@ -10,19 +9,13 @@ using RenderHeads.Media.AVProVideo;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using TurfCS;
|
using TurfCS;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using DG.Tweening;
|
|
||||||
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
||||||
using UnityEngine.EventSystems;
|
using UnityEngine.EventSystems;
|
||||||
using UnityEngine.Events;
|
using UnityEngine.Events;
|
||||||
using Helper = Assets.Scenes.Ride.Scripts.Helper;
|
using Helper = Assets.Scenes.Ride.Scripts.Helper;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using FluffyUnderware.Curvy.Examples;
|
|
||||||
using FluffyUnderware.Curvy.Controllers;
|
|
||||||
using FluffyUnderware.Curvy;
|
|
||||||
using System.Reflection;
|
|
||||||
using Assets.AR;
|
using Assets.AR;
|
||||||
using Assets.Core;
|
using Assets.Core;
|
||||||
|
|
||||||
@ -41,7 +34,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
public RouteResult routeResult;
|
public RouteResult routeResult;
|
||||||
public string recordId { get; set; }
|
public string recordId { get; set; }
|
||||||
public DateTime startTime { get; set; }
|
public DateTime startTime { get; set; }
|
||||||
public CyclingModel cyclingModel;
|
public CyclingModel cyclingModel { get; set; }
|
||||||
public BaseCycling cyclingController { get; set; }
|
public BaseCycling cyclingController { get; set; }
|
||||||
private double endDistance { get; set; }
|
private double endDistance { get; set; }
|
||||||
GameObject infoPanel;
|
GameObject infoPanel;
|
||||||
@ -324,8 +317,8 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
//设置骑行模式
|
//设置骑行模式
|
||||||
public void SetCyclingModel(CyclingModel mode)
|
public void SetCyclingModel(CyclingModel mode)
|
||||||
{
|
{
|
||||||
startTime = UIManager.Now.GetDateTime();
|
//startTime = UIManager.Now.GetDateTime();
|
||||||
Debug.Log("SetCyclingModel" + selectParamModel.ContinueMark);
|
Debug.Log("SetCyclingModel" + mode.ToString());
|
||||||
this.cyclingModel = mode;
|
this.cyclingModel = mode;
|
||||||
switch (cyclingModel)
|
switch (cyclingModel)
|
||||||
{
|
{
|
||||||
@ -340,13 +333,18 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
//开始游戏
|
//开始游戏
|
||||||
public void StartGame()
|
public void StartGame()
|
||||||
{
|
{
|
||||||
if (startTime == null)
|
//if (startTime != DateTime.MinValue)
|
||||||
{
|
{
|
||||||
startTime = UIManager.Now.GetDateTime();
|
startTime = UIManager.Now.GetDateTime();
|
||||||
}
|
}
|
||||||
isStart = true;
|
isStart = true;
|
||||||
}
|
}
|
||||||
//骑行是否开始
|
//骑行是否开始
|
||||||
|
public bool IsReady()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//骑行是否开始
|
||||||
public bool IsStart()
|
public bool IsStart()
|
||||||
{
|
{
|
||||||
return isStart;
|
return isStart;
|
||||||
|
|||||||
@ -263,8 +263,8 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
};
|
};
|
||||||
UIManager.ShowGameRoomCountDownPanel(seconds,()=> {
|
UIManager.ShowGameRoomCountDownPanel(seconds,()=> {
|
||||||
manager.StartGame();
|
manager.StartGame();
|
||||||
manager.SetCyclingModel(Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single);
|
//manager.SetCyclingModel(CyclingModel.GameRoom);
|
||||||
manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
|
//manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -124,6 +124,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
|||||||
recorderData.PreDistance = Math.Round(preDistance, 6, MidpointRounding.AwayFromZero);
|
recorderData.PreDistance = Math.Round(preDistance, 6, MidpointRounding.AwayFromZero);
|
||||||
recorderData.EndDistance = Math.Round(targetData._Distance, 6, MidpointRounding.AwayFromZero);
|
recorderData.EndDistance = Math.Round(targetData._Distance, 6, MidpointRounding.AwayFromZero);
|
||||||
recorderData.RiderDatas.Add(targetData);
|
recorderData.RiderDatas.Add(targetData);
|
||||||
|
Debug.Log(recorderData.RoomId);
|
||||||
//默认启用多圈
|
//默认启用多圈
|
||||||
if (isSingle && totalDistance >= mapData.TotalDistance)
|
if (isSingle && totalDistance >= mapData.TotalDistance)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user