63 lines
2.1 KiB
C#
63 lines
2.1 KiB
C#
using Assets.Scenes.Ride.Scripts.Model.CyclingModels;
|
|
using Assets.Scripts;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
namespace Assets.Scenes.Ride.Scripts
|
|
{
|
|
public class CompetitionWatcherFactory : MonoBehaviour
|
|
{
|
|
int pageIndex = 1;
|
|
int pageSize = 8;
|
|
CyclingController cyclingController;
|
|
private void start()
|
|
{
|
|
cyclingController = FindObjectOfType<CyclingController>();
|
|
}
|
|
|
|
float time = 1;
|
|
private void Update()
|
|
{
|
|
time -= Time.deltaTime;
|
|
while (time < 0)
|
|
{
|
|
Refresh();
|
|
time = 1;
|
|
}
|
|
}
|
|
|
|
public void Refresh()
|
|
{
|
|
if (cyclingController.cyclingController is CompetitionModel model)
|
|
{
|
|
var list = model?.competitionRankingModel?.Results;
|
|
if (list == null) return;
|
|
var parent = transform.Find("ScrollView/Viewport/Content");
|
|
Utils.DestroyChildren(parent);
|
|
|
|
var pagedList = list.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
|
|
foreach (var item in pagedList)
|
|
{
|
|
var finalRankingItem = Instantiate(Resources.Load<GameObject>("UI/Prefab/Match/FinalRankingItem"), parent);
|
|
var finalRankingItemScript = finalRankingItem.GetComponent<FinalRankingItemScript>();
|
|
finalRankingItemScript.setRanking(item.Index);
|
|
finalRankingItemScript.setHeartRate(item.HeartRate);
|
|
finalRankingItemScript.setName(item.Name);
|
|
finalRankingItemScript.setPower(item.Power.ToString());
|
|
finalRankingItemScript.setRatio(item.WeightKg.ToString("f2"));
|
|
finalRankingItemScript.setTimer(item.TripTime);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void Close(BaseEventData baseEventData)
|
|
{
|
|
this.gameObject.SetActive(false);
|
|
this.Destroy();
|
|
//SceneManager.LoadScene("MainScene");
|
|
}
|
|
}
|
|
}
|