伴侣骑行
This commit is contained in:
1 parent
34cde86a28
commit
7744eec847
42 files changed
+18737
-13497
No files matched your search
@@ -0,0 +1,110 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model;
|
||||
using Assets.Scripts.Apis;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class ReviewFactory : MonoBehaviour
|
||||
{
|
||||
private CyclingController cyclingController;
|
||||
private GameObject singleArea;
|
||||
private GameObject reviewScrollView;
|
||||
private GameObject reviewItem;
|
||||
private GameObject content;
|
||||
private GameObject otherPlayer;
|
||||
private GameObject miniMapPlayer;
|
||||
|
||||
private MapApi mapApi;
|
||||
private PlayerController playerController;
|
||||
private List<ReviewItemScript> reviewList ;
|
||||
private List<OtherPlayerController> otherList;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
reviewList = new List<ReviewItemScript>();
|
||||
otherList = new List<OtherPlayerController>();
|
||||
cyclingController = FindObjectOfType<CyclingController>();
|
||||
singleArea = transform.Find("SingleArea").gameObject;
|
||||
|
||||
reviewScrollView = transform.Find("ReviewArea").gameObject;
|
||||
content = transform.Find("ReviewArea/ReviewScrollView/Viewport/Content").gameObject;
|
||||
reviewItem = Resources.Load<GameObject>("UI/Prefab/Ride/ReviewItem");
|
||||
otherPlayer = Resources.Load<GameObject>("UI/Prefab/Ride/ReviewPlayer");
|
||||
miniMapPlayer = Resources.Load<GameObject>("UI/Prefab/Ride/MiniMapPlayer");
|
||||
playerController = FindObjectOfType<PlayerController>();
|
||||
mapApi = new MapApi();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Refresh();
|
||||
}
|
||||
public void Refresh()
|
||||
{
|
||||
var mode = cyclingController.cyclingModel;
|
||||
switch (mode)
|
||||
{
|
||||
case Model.CyclingModel.Single:
|
||||
singleArea.SetActive(true);
|
||||
break;
|
||||
case Model.CyclingModel.Online:
|
||||
break;
|
||||
case Model.CyclingModel.Review:
|
||||
InitReview();
|
||||
break;
|
||||
case Model.CyclingModel.Competition:
|
||||
break;
|
||||
case Model.CyclingModel.GlobalCycling:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
float t = 1;
|
||||
private void Update()
|
||||
{
|
||||
t -= Time.deltaTime;
|
||||
while (t < 0)
|
||||
{
|
||||
ReviewRanking();
|
||||
t = 1;
|
||||
}
|
||||
}
|
||||
|
||||
private void ReviewRanking()
|
||||
{
|
||||
var sortList = reviewList.OrderByDescending(c => c.GetDistance()).ToList();
|
||||
for (int i = 0; i < sortList.Count; i++)
|
||||
{
|
||||
var item = sortList[i].gameObject.transform;
|
||||
item.SetSiblingIndex(i);
|
||||
}
|
||||
}
|
||||
private void InitReview()
|
||||
{
|
||||
reviewScrollView.SetActive(true);
|
||||
var rankingList = mapApi.GetRecordFileFromServer(cyclingController.selectParamModel.RankingsId);
|
||||
foreach (var item in rankingList)
|
||||
{
|
||||
GameObject newObj = (GameObject)Instantiate(reviewItem, content.transform);
|
||||
|
||||
var reviewItemScript = newObj.GetComponent<ReviewItemScript>();
|
||||
reviewItemScript.SetHead(item.WxHeadImg);
|
||||
reviewItemScript.SetName(item.NickName);
|
||||
reviewItemScript.SetDistance(0D);
|
||||
reviewList.Add(reviewItemScript);
|
||||
GameObject otherPlayerObj = (GameObject)Instantiate(otherPlayer, transform.parent.parent.parent);
|
||||
var otherPlayerController = otherPlayerObj.GetComponent<OtherPlayerController>();
|
||||
otherList.Add(otherPlayerController);
|
||||
otherPlayerController.record = item.record;
|
||||
otherPlayerController.SetController(reviewItemScript, playerController);
|
||||
GameObject miniPlayer = (GameObject)Instantiate(miniMapPlayer, transform.parent.parent.parent);
|
||||
var miniController = miniPlayer.GetComponent<MiniMapPlayerController>();
|
||||
miniController.SetController(otherPlayerController);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user