2022-03-24 09:36:59 +08:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.IO;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.Networking;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
using DG.Tweening;
|
|
|
|
|
|
using UnityEngine.SceneManagement;
|
2022-03-25 09:57:30 +08:00
|
|
|
|
using UnityEngine.EventSystems;
|
2022-04-18 19:13:16 +08:00
|
|
|
|
using Assets.Scenes.Ride.Scripts;
|
|
|
|
|
|
using Assets.Scripts.Apis.Models;
|
|
|
|
|
|
using System.Linq;
|
2022-05-13 09:28:58 +08:00
|
|
|
|
using Assets.Scenes.Ride.Scripts.Model;
|
2022-03-24 09:36:59 +08:00
|
|
|
|
|
|
|
|
|
|
namespace Assets.Scripts.Scenes.VideoRide
|
|
|
|
|
|
{
|
|
|
|
|
|
public class VideoLoading : MonoBehaviour
|
|
|
|
|
|
{
|
|
|
|
|
|
UnityWebRequest request { get; set; }
|
|
|
|
|
|
VideoGameManager manager { get; set; }
|
2022-04-18 19:13:16 +08:00
|
|
|
|
|
|
|
|
|
|
protected Text mapName;
|
|
|
|
|
|
protected RawImage mapRouteImage;
|
|
|
|
|
|
protected CanvasGroup canvasGroup;
|
|
|
|
|
|
protected Slider slider;
|
|
|
|
|
|
protected Text processText;
|
|
|
|
|
|
protected Text rideNowText;
|
|
|
|
|
|
protected Button rideNow;
|
|
|
|
|
|
protected Button cancel;
|
|
|
|
|
|
protected Text mapDescText;
|
|
|
|
|
|
protected Text distance;
|
|
|
|
|
|
protected Text elevaction;
|
|
|
|
|
|
protected Text slope;
|
|
|
|
|
|
protected GameObject panel;
|
2022-04-19 18:47:26 +08:00
|
|
|
|
protected GameObject download;
|
|
|
|
|
|
protected GameObject watch;
|
2022-04-18 19:13:16 +08:00
|
|
|
|
|
|
|
|
|
|
protected GameObject loadingPanel { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
protected Text level;
|
|
|
|
|
|
protected Text rideNum;
|
|
|
|
|
|
protected Text uploadByUserName;
|
|
|
|
|
|
protected RawImage head;
|
|
|
|
|
|
protected RawImage country;
|
|
|
|
|
|
protected RawImage mapCountry;
|
|
|
|
|
|
protected RawImage altitudeGraph;
|
|
|
|
|
|
protected Transform mapRanking;
|
|
|
|
|
|
protected Text mapId;
|
|
|
|
|
|
|
|
|
|
|
|
protected float process = 0;//0-100 %
|
|
|
|
|
|
public float targetAlpha = 0f;
|
|
|
|
|
|
public float alphaSpeed = 2.0f;
|
2022-04-19 18:47:26 +08:00
|
|
|
|
|
|
|
|
|
|
protected Transform ui;
|
|
|
|
|
|
|
|
|
|
|
|
protected MapRoute route;
|
2022-04-18 19:13:16 +08:00
|
|
|
|
|
|
|
|
|
|
private void Awake()
|
|
|
|
|
|
{
|
2022-04-29 19:03:18 +08:00
|
|
|
|
if(App.gameRoomDetail != null)
|
|
|
|
|
|
ShowGameRoomLoading();
|
2022-04-18 19:13:16 +08:00
|
|
|
|
}
|
2022-03-24 09:36:59 +08:00
|
|
|
|
void Start()
|
|
|
|
|
|
{
|
|
|
|
|
|
manager = FindObjectOfType<VideoGameManager>();
|
2022-04-19 18:47:26 +08:00
|
|
|
|
ui = manager.GetCanvasTransform();
|
|
|
|
|
|
route = manager.GetMapRoute();
|
2022-03-24 09:36:59 +08:00
|
|
|
|
}
|
2022-04-18 19:13:16 +08:00
|
|
|
|
|
|
|
|
|
|
public void Init()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitGameObject();
|
|
|
|
|
|
InitGameObjectData();
|
|
|
|
|
|
}
|
2022-03-24 09:36:59 +08:00
|
|
|
|
|
2022-04-29 19:03:18 +08:00
|
|
|
|
private void ShowGameRoomLoading()
|
|
|
|
|
|
{
|
|
|
|
|
|
UIManager.SetModalPanel(transform.Find("ModalPanel").GetComponent<PFUIPanel>());
|
|
|
|
|
|
UIManager.ShowGameRoomLoadingPanel();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-04-18 19:13:16 +08:00
|
|
|
|
private void InitGameObject()
|
|
|
|
|
|
{
|
|
|
|
|
|
panel = transform.Find("Panel").gameObject;
|
|
|
|
|
|
mapName = panel.transform.Find("MapName").GetComponent<Text>();
|
|
|
|
|
|
distance = panel.transform.Find("Distance").GetComponent<Text>();
|
|
|
|
|
|
elevaction = panel.transform.Find("Elevaction").GetComponent<Text>();
|
|
|
|
|
|
slope = panel.transform.Find("Slope").GetComponent<Text>();
|
|
|
|
|
|
mapRouteImage = panel.transform.Find("MapRouteImage").GetComponent<RawImage>();
|
|
|
|
|
|
slider = panel.transform.Find("Process").GetComponent<Slider>();
|
2022-04-19 18:47:26 +08:00
|
|
|
|
slider.gameObject.SetActive(true);
|
2022-04-18 19:13:16 +08:00
|
|
|
|
processText = panel.transform.Find("ProcessText").GetComponent<Text>();
|
|
|
|
|
|
processText.gameObject.SetActive(false);
|
|
|
|
|
|
mapDescText = panel.transform.Find("MapDesc").GetComponent<Text>();
|
|
|
|
|
|
rideNow = panel.transform.Find("RideNow").GetComponent<Button>();
|
|
|
|
|
|
rideNowText = rideNow.transform.Find("Text").GetComponent<Text>();
|
|
|
|
|
|
cancel = panel.transform.Find("Cancel").GetComponent<Button>();
|
|
|
|
|
|
UIManager.AddEvent(rideNow.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, StartRide);
|
|
|
|
|
|
UIManager.AddEvent(cancel.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, Cancel);
|
|
|
|
|
|
slider.onValueChanged.AddListener((f) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
processText.text = $"{(f).ToString("#0")}%";
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2022-04-19 18:47:26 +08:00
|
|
|
|
|
|
|
|
|
|
download = transform.Find("Panel/Download").gameObject;
|
|
|
|
|
|
watch = transform.Find("Panel/Watch").gameObject;
|
2022-08-05 15:10:09 +08:00
|
|
|
|
|
2022-04-19 18:47:26 +08:00
|
|
|
|
UIManager.AddEvent(watch, UnityEngine.EventSystems.EventTriggerType.PointerClick, WatchHandler);
|
|
|
|
|
|
canvasGroup = transform.GetComponent<CanvasGroup>();
|
|
|
|
|
|
|
|
|
|
|
|
var fileName = route.FileName;// "12067924_720p.mp4";
|
|
|
|
|
|
var url = route.Url; //@"http://192.168.0.97:6031/12067924_720p.mp4";
|
|
|
|
|
|
var path = PFConstants.VideoFolder;
|
|
|
|
|
|
var filepath = path + "/" + fileName;
|
|
|
|
|
|
|
|
|
|
|
|
if (File.Exists(filepath))
|
|
|
|
|
|
{
|
2022-08-05 15:10:09 +08:00
|
|
|
|
watch.SetActive(true);
|
2022-04-19 18:47:26 +08:00
|
|
|
|
slider.value = 100;
|
|
|
|
|
|
download.gameObject.SetActive(false);
|
|
|
|
|
|
manager.SetMedia(filepath);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
2022-08-05 15:10:09 +08:00
|
|
|
|
watch.SetActive(false);
|
2022-04-19 18:47:26 +08:00
|
|
|
|
//检查本地文件是否存在 如果存在直接设置mediaPlayer 否则显示下载按钮
|
|
|
|
|
|
UIManager.AddEvent(download.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, Download);
|
|
|
|
|
|
}
|
|
|
|
|
|
#region
|
2022-04-18 19:13:16 +08:00
|
|
|
|
level = panel.transform.Find("level/Text").GetComponent<Text>();
|
|
|
|
|
|
rideNum = panel.transform.Find("RideNum").GetComponent<Text>();
|
|
|
|
|
|
uploadByUserName = panel.transform.Find("UploadByUserName").GetComponent<Text>();
|
|
|
|
|
|
country = panel.transform.Find("UploadByCountry").GetComponent<RawImage>();
|
|
|
|
|
|
mapCountry = panel.transform.Find("Country").GetComponent<RawImage>();
|
|
|
|
|
|
head = panel.transform.Find("UploadByHead").GetComponent<RawImage>();
|
|
|
|
|
|
altitudeGraph = panel.transform.Find("AltitudeGraph").GetComponent<RawImage>();
|
|
|
|
|
|
mapRanking = panel.transform.Find("MapRanking");
|
|
|
|
|
|
mapId = panel.transform.Find("MapId").GetComponent<Text>();
|
2022-04-19 18:47:26 +08:00
|
|
|
|
|
|
|
|
|
|
UIManager.RemoveEvent(distance.gameObject);
|
|
|
|
|
|
UIManager.RemoveEvent(slope.gameObject);
|
|
|
|
|
|
UIManager.RemoveEvent(elevaction.gameObject);
|
|
|
|
|
|
UIManager.RemoveEvent(rideNum.gameObject);
|
|
|
|
|
|
UIManager.AddEvent(distance.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("DistanceTip").GetComponent<CanvasGroup>().DOFade(1, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
UIManager.AddEvent(distance.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("DistanceTip").GetComponent<CanvasGroup>().DOFade(0, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
UIManager.AddEvent(slope.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("SlopeTip").GetComponent<CanvasGroup>().DOFade(1, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
UIManager.AddEvent(slope.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("SlopeTip").GetComponent<CanvasGroup>().DOFade(0, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
UIManager.AddEvent(elevaction.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("ElevactionTip").GetComponent<CanvasGroup>().DOFade(1, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
UIManager.AddEvent(elevaction.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("ElevactionTip").GetComponent<CanvasGroup>().DOFade(0, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
UIManager.AddEvent(rideNum.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("RideTip").GetComponent<CanvasGroup>().DOFade(1, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
UIManager.AddEvent(rideNum.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
panel.transform.Find("RideTip").GetComponent<CanvasGroup>().DOFade(0, 0.5f);
|
|
|
|
|
|
});
|
|
|
|
|
|
#endregion
|
2022-04-18 19:13:16 +08:00
|
|
|
|
}
|
|
|
|
|
|
protected void InitGameObjectData()
|
|
|
|
|
|
{
|
|
|
|
|
|
var route = manager.mapRoute;
|
|
|
|
|
|
#region 绑定路书基本信息
|
|
|
|
|
|
mapName.text = GetMaxString(route.Name, 40);
|
|
|
|
|
|
level.text = route.Hard;
|
|
|
|
|
|
elevaction.text = Math.Round(route.TotalClimb.GetValueOrDefault(0), 2).ToString() + "M";
|
|
|
|
|
|
slope.text = Math.Round(route.AverageGrade, 2).ToString() + "%";
|
|
|
|
|
|
rideNum.text = route.TheHeat.ToString();
|
|
|
|
|
|
distance.text = route.Distance.ToString("f1") + "KM";
|
|
|
|
|
|
mapDescText.text = GetMaxString(route.Dec, 255);
|
|
|
|
|
|
mapId.text = $"#{route.Id.ToString()}";
|
|
|
|
|
|
var userList = ConfigHelper.mapApi.GetOnlineUserInfo(new int[] { route.UserId }).data;
|
|
|
|
|
|
if (userList.Count > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
uploadByUserName.text = userList[0].Name;
|
|
|
|
|
|
var countryUrl = App.Host + $"User/GetCountryImg?userid={userList[0].Id}";
|
|
|
|
|
|
Utils.DisplayImage(head, userList[0].HeadImage);//头像
|
|
|
|
|
|
country.texture = manager.GetCountryImageByName(userList[0].Country);//上传者国家
|
|
|
|
|
|
mapCountry.texture = manager.GetCountryImageByCode(route.CountryCode);//路书国家
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
2022-04-19 18:47:26 +08:00
|
|
|
|
//显示线路背景图
|
|
|
|
|
|
DrawMapRouteAsync(route.Id);
|
2022-08-05 15:10:09 +08:00
|
|
|
|
//查询排行榜 TODO优化
|
2022-04-18 19:13:16 +08:00
|
|
|
|
var list = ConfigHelper.mapApi.GetRouteRanking(route.Id, "1", 0, 10000, "");
|
|
|
|
|
|
if (list.result)
|
|
|
|
|
|
{
|
|
|
|
|
|
CreateRankingList(list.data.list);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2022-04-29 19:03:18 +08:00
|
|
|
|
public void StartRide(BaseEventData baseEvent)
|
2022-04-19 18:47:26 +08:00
|
|
|
|
{
|
|
|
|
|
|
var ui = manager.GetCanvasTransform();
|
|
|
|
|
|
canvasGroup.DOFade(0, 1).onComplete += () => {
|
|
|
|
|
|
gameObject.SetActive(false);
|
2022-08-05 15:10:09 +08:00
|
|
|
|
manager.StartGame();
|
2022-05-10 19:24:07 +08:00
|
|
|
|
manager.SetCyclingModel(Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single);
|
2022-04-19 18:47:26 +08:00
|
|
|
|
manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
|
2022-08-05 15:10:09 +08:00
|
|
|
|
//ui.Find("Panel").gameObject.SetActive(true);
|
2022-04-19 18:47:26 +08:00
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-05-10 19:24:07 +08:00
|
|
|
|
public void StartRide(int seconds)
|
|
|
|
|
|
{
|
|
|
|
|
|
var ui = manager.GetCanvasTransform();
|
|
|
|
|
|
canvasGroup.DOFade(0, 0).onComplete += () => {
|
|
|
|
|
|
gameObject.SetActive(false);
|
2022-05-13 09:28:58 +08:00
|
|
|
|
manager.SetCyclingModel(CyclingModel.GameRoom);
|
2022-05-10 19:24:07 +08:00
|
|
|
|
manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
|
|
|
|
|
|
ui.Find("Panel").gameObject.SetActive(true);
|
|
|
|
|
|
};
|
|
|
|
|
|
UIManager.ShowGameRoomCountDownPanel(seconds,()=> {
|
|
|
|
|
|
manager.StartGame();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-04-19 18:47:26 +08:00
|
|
|
|
protected void Download(BaseEventData baseEvent)
|
|
|
|
|
|
{
|
2022-05-25 18:40:47 +08:00
|
|
|
|
var path = PFConstants.VideoFolder;
|
|
|
|
|
|
var filepath = path + $"/{route.FileName}";
|
2022-08-05 15:10:09 +08:00
|
|
|
|
var text = rideNow.GetComponentInChildren<Text>();
|
2022-04-19 18:47:26 +08:00
|
|
|
|
StartCoroutine(Utils.DownloadVideo(route.FileName, route.Url
|
|
|
|
|
|
, (p, req) =>
|
|
|
|
|
|
{
|
2022-08-05 15:10:09 +08:00
|
|
|
|
rideNow.enabled = false;
|
|
|
|
|
|
rideNow.interactable = false;
|
2022-04-19 18:47:26 +08:00
|
|
|
|
slider.value = (float)Math.Round(p * 100, 2);
|
2022-08-05 15:10:09 +08:00
|
|
|
|
text.text = slider.value.ToString()+"%";
|
2022-04-19 18:47:26 +08:00
|
|
|
|
request = req;
|
|
|
|
|
|
download.SetActive(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
, (p) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!string.IsNullOrEmpty(p)) {
|
2022-05-13 09:28:58 +08:00
|
|
|
|
Debug.LogError(p);
|
2022-04-19 18:47:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
2022-08-05 15:10:09 +08:00
|
|
|
|
rideNow.enabled = true;
|
|
|
|
|
|
rideNow.interactable = true;
|
|
|
|
|
|
text.text = App.GetLocalString("Ride Now");
|
|
|
|
|
|
watch.SetActive(true);
|
2022-05-13 09:28:58 +08:00
|
|
|
|
slider.value = 100;
|
2022-05-25 18:40:47 +08:00
|
|
|
|
manager.SetMedia(filepath);
|
2022-04-19 18:47:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
));
|
|
|
|
|
|
}
|
|
|
|
|
|
//进入观察模式
|
|
|
|
|
|
private void WatchHandler(BaseEventData data)
|
2022-04-18 19:13:16 +08:00
|
|
|
|
{
|
2022-04-19 18:47:26 +08:00
|
|
|
|
manager.SetCurrentMode(VideoGameManager.ARMode.INSPECT);
|
|
|
|
|
|
var canvasGroup = transform.GetComponent<CanvasGroup>();
|
|
|
|
|
|
var ui = manager.GetCanvasTransform();
|
|
|
|
|
|
canvasGroup.DOFade(0, 1).onComplete += () => {
|
|
|
|
|
|
gameObject.SetActive(false);
|
|
|
|
|
|
ui.Find("Panel").gameObject.SetActive(true);
|
|
|
|
|
|
};
|
2022-04-18 19:13:16 +08:00
|
|
|
|
}
|
2022-04-19 18:47:26 +08:00
|
|
|
|
protected void Cancel(BaseEventData baseEvent)
|
2022-04-18 19:13:16 +08:00
|
|
|
|
{
|
|
|
|
|
|
SceneManager.LoadScene("MainScene");
|
|
|
|
|
|
}
|
2022-04-19 18:47:26 +08:00
|
|
|
|
protected async void DrawMapRouteAsync(int routeId, int type = 0)
|
2022-03-24 09:36:59 +08:00
|
|
|
|
{
|
2022-04-19 18:47:26 +08:00
|
|
|
|
var result = await ConfigHelper.mapApi.GetMapLoadingCoverageUrl(routeId, type);
|
|
|
|
|
|
if (!result.result)
|
|
|
|
|
|
return;
|
|
|
|
|
|
var url = result.data;
|
|
|
|
|
|
if (App.TextureCache.ContainsKey(url))
|
|
|
|
|
|
{
|
|
|
|
|
|
mapRouteImage.texture = App.TextureCache[url];
|
|
|
|
|
|
var canvasGroup = mapRouteImage.GetComponent<CanvasGroup>();
|
|
|
|
|
|
canvasGroup.DOFade(1, 1);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
Utils.DisplayImageAysnc(StartCoroutine, mapRouteImage, url, DowloadCallBack);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
protected void DowloadCallBack(string url, RawImage rawImage)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!App.TextureCache.ContainsKey(url))
|
|
|
|
|
|
{
|
|
|
|
|
|
App.TextureCache.Add(url, rawImage?.texture);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
App.TextureCache[url] = rawImage?.texture;
|
|
|
|
|
|
}
|
|
|
|
|
|
var canvasGroup = rawImage.GetComponent<CanvasGroup>();
|
|
|
|
|
|
canvasGroup?.DOFade(1, 1);
|
2022-03-24 09:36:59 +08:00
|
|
|
|
}
|
2022-04-19 18:47:26 +08:00
|
|
|
|
|
2022-04-18 19:13:16 +08:00
|
|
|
|
private int RankingPageSize = 10;
|
|
|
|
|
|
//创建排行榜
|
|
|
|
|
|
public void CreateRankingList(List<MapRouteRanking> list)
|
|
|
|
|
|
{
|
|
|
|
|
|
var prefab = Resources.Load<GameObject>("UI/Prefab/Ride/RankingItem");
|
|
|
|
|
|
var myprefab = Resources.Load<GameObject>("UI/Prefab/Ride/MySelfRankingItem");
|
|
|
|
|
|
var viewAllbtn = Resources.Load<GameObject>("UI/Prefab/Ride/ViewAll");
|
|
|
|
|
|
var parent = panel.transform.Find("MapRanking");
|
|
|
|
|
|
var title = panel.transform.Find("RankingTitle").gameObject;
|
|
|
|
|
|
title.SetActive(list.Count != 0);
|
|
|
|
|
|
int index = 0;
|
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
|
{
|
|
|
|
|
|
index++;
|
|
|
|
|
|
if (index > RankingPageSize)
|
|
|
|
|
|
break;
|
|
|
|
|
|
GameObject newObj = (GameObject)Instantiate(prefab, parent);
|
|
|
|
|
|
var selectPlayerItemScript = newObj.GetComponent<Assets.Scenes.Ride.Scripts.RankingItemScript>();
|
|
|
|
|
|
selectPlayerItemScript.SetRanking(item.RowNumber.ToString());
|
|
|
|
|
|
selectPlayerItemScript.SetName(item.NickName);
|
|
|
|
|
|
selectPlayerItemScript.SetTimer(item.IsDNF ? "DNF" : item.TotalTime);
|
|
|
|
|
|
selectPlayerItemScript.SetHead(item.WxHeadImg);
|
|
|
|
|
|
var texture = manager.GetCountryImageByCode(item.CountryCode);
|
|
|
|
|
|
selectPlayerItemScript.SetCountry(texture);
|
|
|
|
|
|
}
|
|
|
|
|
|
//如果有自己的记录显示自己的排名
|
|
|
|
|
|
var myself = list.Where(c => c.MySelf).FirstOrDefault();
|
|
|
|
|
|
GameObject myselfObj = (GameObject)Instantiate(myprefab, parent);
|
|
|
|
|
|
var myselfItemScript = myselfObj.GetComponent<Assets.Scenes.Ride.Scripts.RankingItemScript>();
|
|
|
|
|
|
if (myself == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
myselfItemScript.SetRanking("--");
|
|
|
|
|
|
myselfItemScript.SetName(App.CurrentUser.Nickname);
|
|
|
|
|
|
myselfItemScript.SetTimer("--:--:--");
|
|
|
|
|
|
myselfItemScript.SetHead(App.CurrentUser.WxHeadImg);
|
|
|
|
|
|
var texture = manager.GetCountryImageByName(App.CurrentUser.Country);
|
|
|
|
|
|
myselfItemScript.SetCountry(texture);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
myselfItemScript.SetRanking(myself.RowNumber.ToString());
|
|
|
|
|
|
myselfItemScript.SetName(myself.NickName);
|
|
|
|
|
|
myselfItemScript.SetTimer(myself.IsDNF ? "DNF" : myself.TotalTime);
|
|
|
|
|
|
myselfItemScript.SetHead(myself.WxHeadImg);
|
|
|
|
|
|
var texture = manager.GetCountryImageByCode(myself.CountryCode);
|
|
|
|
|
|
myselfItemScript.SetCountry(texture);
|
|
|
|
|
|
}
|
|
|
|
|
|
//显示查询全部按钮
|
|
|
|
|
|
if (list.Count > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
GameObject ViewAll = (GameObject)Instantiate(viewAllbtn, parent);
|
|
|
|
|
|
UIManager.AddEvent(ViewAll, UnityEngine.EventSystems.EventTriggerType.PointerClick, b =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Application.OpenURL($"{App.CurrentUser.WebHost}Routes/{manager.mapRoute.Id}?Token={App.CurrentUser.cookie}");
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected string GetMaxString(string value, int length)
|
|
|
|
|
|
{
|
|
|
|
|
|
var s = Helper.SubStr(value, length);
|
|
|
|
|
|
return s;
|
|
|
|
|
|
}
|
2022-03-24 09:36:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|