AR初版可用阶段提交
This commit is contained in:
1 parent
dc8f8ceb80
commit
27d18d7d01
22 files changed
+4067
-3240
No files matched your search
@@ -62,6 +62,8 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
|
||||
public bool IsStart = false;
|
||||
|
||||
public double mockpower { get; set; }
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
animator = GetComponent<Animator>();
|
||||
|
||||
@@ -7,7 +7,6 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
public class ElevationBarDataFeed : MonoBehaviour
|
||||
{
|
||||
GameObject head { get; set; }
|
||||
VideoGameManager manager { get; set; }
|
||||
[SerializeField]
|
||||
Material _lightColor;
|
||||
@@ -22,7 +21,6 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
|
||||
void Start()
|
||||
{
|
||||
head = transform.Find("HeadPanel").gameObject;
|
||||
manager= FindObjectOfType<VideoGameManager>();
|
||||
|
||||
BarChart barChart = GetComponent<BarChart>();
|
||||
@@ -34,10 +32,9 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
barChart.DataSource.AddCategory($"Player {i}", getChartMaterial(list[i].Grade));
|
||||
barChart.DataSource.SetValue($"Player {i}", "Group 1", list[i].Grade);
|
||||
barChart.DataSource.SetValue($"Player {i}", "Group 1", list[i].Elevation);
|
||||
}
|
||||
}
|
||||
|
||||
headPanel = Resources.Load<GameObject>("UI/Prefab/AR/HeadPanel");
|
||||
}
|
||||
|
||||
@@ -47,22 +44,13 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
timer -= Time.deltaTime;
|
||||
while (timer < 0)
|
||||
{
|
||||
MoveCurrentPlayerHead();
|
||||
MoveOnlinePlayerHead();
|
||||
timer += 1f;
|
||||
|
||||
timer += 0.5f;
|
||||
}
|
||||
MoveOnlinePlayerHead();
|
||||
}
|
||||
//移动当前骑行者头像
|
||||
private void MoveCurrentPlayerHead()
|
||||
{
|
||||
var videoPlayer = manager.CurrentPlayer;
|
||||
var index = videoPlayer != null ? videoPlayer.currentIndex : 0;
|
||||
BarChart barChart = GetComponent<BarChart>();
|
||||
Vector3 vector3 = Vector3.back;
|
||||
barChart.GetBarTrackPosition($"Player {index}", "Group 1", out vector3);
|
||||
head.transform.position = vector3;
|
||||
}
|
||||
//移动当前线上其他人头像
|
||||
|
||||
//移动海拔线上人物位置
|
||||
private void MoveOnlinePlayerHead()
|
||||
{
|
||||
if (manager.cyclingController == null)
|
||||
@@ -74,26 +62,26 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
BarChart barChart = GetComponent<BarChart>();
|
||||
Vector3 vector3 = Vector3.back;
|
||||
var distance = item.EndDistance % manager.mapRoute.Distance;
|
||||
var distance = item.EndDistance; //% manager.mapRoute.Distance;
|
||||
|
||||
var currentIndex = Math.Round(distance / manager.mapRoute.Distance * manager.GetMapData().List.Count);
|
||||
barChart.GetBarTrackPosition($"Player {currentIndex}", "Group 1", out vector3);
|
||||
var currentIndex = Mathf.Clamp((float)(distance / manager.mapRoute.Distance * manager.GetMapData().List.Count),0, manager.GetMapData().List.Count-1);
|
||||
barChart.GetBarTrackPosition($"Player {Math.Round(currentIndex,0)}", "Group 1", out vector3);
|
||||
|
||||
var currentHead = headList.Where(c => c.UserId == item.UserId).FirstOrDefault();
|
||||
|
||||
if (videoPlayer != null)
|
||||
{
|
||||
var diff = distance - videoPlayer.totalDistance % manager.mapRoute.Distance;
|
||||
if (diff < 0)
|
||||
{
|
||||
vector3.y = -800f;
|
||||
}
|
||||
}
|
||||
if (currentHead == null)
|
||||
{
|
||||
var onlineHead = Instantiate(headPanel, transform);
|
||||
onlineHead.GetComponent<HeadScript>().UserId = item.UserId;
|
||||
onlineHead.transform.position = vector3;
|
||||
if (item.IsSelf)
|
||||
{
|
||||
onlineHead.transform.Find("Main").gameObject.SetActive(true);
|
||||
onlineHead.transform.SetAsLastSibling();
|
||||
}
|
||||
else
|
||||
{
|
||||
onlineHead.transform.SetAsFirstSibling();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -232,15 +232,20 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
var playerprefabNV = Resources.Load<GameObject>("UI/Prefab/AR/VidePlayer_NV");
|
||||
videoPlayer = Instantiate(playerprefabNV, transform);
|
||||
}
|
||||
|
||||
CurrentPlayer = videoPlayer.GetComponent<AbstractVideoPlayer>();
|
||||
var vv = videoPlayer.GetComponent<VideoPlayer>();
|
||||
vv.SetEndDistance(item.EndDistance);
|
||||
CurrentPlayer.SetStartDistance(item.EndDistance);
|
||||
|
||||
var rideObj = videoPlayer.GetComponent<RiderRenderer>();
|
||||
rideObj.Distance = (float)CurrentPlayer.StartDistance;
|
||||
rideObj.RouteDistance = rideObj.Distance;
|
||||
rideObj.IsMain = true;
|
||||
Debug.Log("IsMain = true");
|
||||
rideObjs.Add(CurrentPlayer, rideObj);
|
||||
visibleRiders.Add(CurrentPlayer);
|
||||
|
||||
CurrentPlayer.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
|
||||
}
|
||||
}
|
||||
@@ -318,7 +323,6 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
public void SetCyclingModel(CyclingModel mode)
|
||||
{
|
||||
//startTime = UIManager.Now.GetDateTime();
|
||||
Debug.Log("SetCyclingModel" + mode.ToString());
|
||||
this.cyclingModel = mode;
|
||||
switch (cyclingModel)
|
||||
{
|
||||
|
||||
@@ -287,6 +287,12 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
File.WriteAllBytes($"{dataPath}/{route.Id}.json", res1.downloadHandler.data);
|
||||
File.WriteAllBytes($"{dataPath}/route-{route.Id}.json", res2.downloadHandler.data);
|
||||
File.WriteAllBytes($"{path}/{route.FileName}", res3.downloadHandler.data);
|
||||
|
||||
rideNow.enabled = true;
|
||||
rideNow.interactable = true;
|
||||
downloadText.text = App.GetLocalString("Ride Now");
|
||||
var filepath = $"{path}/{route.FileName}";
|
||||
manager.SetMedia(filepath);
|
||||
}
|
||||
|
||||
public void Report(float value)
|
||||
@@ -301,15 +307,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
}
|
||||
else
|
||||
{
|
||||
var route = manager.mapRoute;
|
||||
var path = PFConstants.VideoFolder;
|
||||
rideNow.enabled = true;
|
||||
rideNow.interactable = true;
|
||||
downloadText.text = App.GetLocalString("Ride Now");
|
||||
//watch.SetActive(true);
|
||||
slider.value = 100;
|
||||
var filepath = $"{path}/{route.FileName}";
|
||||
manager.SetMedia(filepath);
|
||||
}
|
||||
}
|
||||
//进入观察模式
|
||||
|
||||
@@ -58,8 +58,9 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
heartRate = manager.UpDateHeart();
|
||||
power = manager.UpdatePower();
|
||||
cadance = manager.UpdateCadence();
|
||||
//#if UNITY_EDITOR
|
||||
power = 230;
|
||||
//#if UNITY_EDITOR
|
||||
if(mockpower > 0)
|
||||
power = mockpower;//TODO:动态
|
||||
cadance = 50;
|
||||
heartRate = 120;
|
||||
//#endif
|
||||
@@ -128,7 +129,6 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
//默认启用多圈
|
||||
if (isSingle && totalDistance >= mapData.TotalDistance)
|
||||
{
|
||||
Debug.Log($"{totalDistance}-{mapData.TotalDistance}");
|
||||
Complete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,10 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
GameObject ftpPanel { get; set; }
|
||||
Image ftpImage { get; set; }
|
||||
Text wkg { get; set; }
|
||||
|
||||
|
||||
public Text PowerText;
|
||||
public Slider PowerSlider;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
@@ -143,6 +146,11 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
UIManager.AddEvent(changeViewBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, ChangeViewClick);
|
||||
UIManager.AddEvent(deviceBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, DeviceClick);
|
||||
UIManager.AddEvent(quitBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, QuitClick);
|
||||
PowerSlider.onValueChanged.AddListener(e =>
|
||||
{
|
||||
PowerText.text = e.ToString("f0") + "W";
|
||||
manager.CurrentPlayer.mockpower = e;
|
||||
});
|
||||
}
|
||||
//设置坡度信息
|
||||
private void SetSlopePanel()
|
||||
|
||||
Reference in new issue
Block a user