2022-04-22 18:24:56 +08:00

127 lines
3.1 KiB
C#

using Assets.Scripts.Apis.Models;
using PolyAndCode.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using Assets.Scripts;
public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandler, IEndDragHandler,IScrollHandler
{
public Text IdTxt;
public Text RouteNameTxt;
public Text RouteNameLightTxt;
public Text RoomNameTxt;
public Text DistanceTxt;
public Text AltitudeGraphTxt;
public Text GradeTxt;
public Text DistanceLightTxt;
public Text AltitudeGraphLightTxt;
public Text GradeLightTxt;
public Text MembersTxt;
public Image HoverBgImg;
public Image IconDitanceImg;
public Image IconElevationImg;
public Image IconGradeImg;
public Image IconDistanceLightImg;
public Image IconElevationLightImg;
public Image IconGradeLightImg;
public RawImage AltitudeGraphImg;
public RawImage Owner;
public RawImage Head1;
public RawImage Head2;
public RawImage Head3;
public RawImage Head4;
public RawImage Head5;
public GameObject IconOwnerLight;
public GameObject JoinBtn;
private ScrollRect Scroll;
public string Id { get; set; }
public string Rank { get; set; }
public string Name { get; set; }
private void Start()
{
Scroll = GetComponentInParent<ScrollRect>();
UIManager.AddEvent(JoinBtn, EventTriggerType.PointerClick, (e) =>
{
});
}
private float timer = 1f;
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0)
{
timer += 1f;
}
}
//This is called from the SetCell method in DataSource
public void ConfigureCell(GameRoomModel cell, int cellIndex)
{
RoomNameTxt.text = cell.Name;
var gradeText = $"{Math.Round(cell.AverageGrade,2)}%";
GradeLightTxt.text = gradeText;
GradeTxt.text = gradeText;
var distanceText = $"{Math.Round(cell.Distance,1)}KM";
DistanceTxt.text = distanceText;
DistanceLightTxt.text = distanceText;
var totalClimbText = $"{Math.Round(cell.TotalClimb)}M";
AltitudeGraphTxt.text = totalClimbText;
AltitudeGraphLightTxt.text = totalClimbText;
RouteNameTxt.text = cell.MapRouteName;
RouteNameLightTxt.text = cell.MapRouteName;
IdTxt.text = cell.Id.ToString().PadLeft(7,'0');
Utils.DisplayImage(AltitudeGraphImg, cell.AltitudeGraph);
Utils.DisplayImage(Owner, cell.WxHeadImg);
}
public void UpdateItem(string name, string gender, string id)
{
}
public void OnBeginDrag(PointerEventData eventData)
{
Scroll.OnBeginDrag(eventData);
}
public void OnDrag(PointerEventData eventData)
{
Scroll.OnDrag(eventData);
}
public void OnEndDrag(PointerEventData eventData)
{
Scroll.OnEndDrag(eventData);
}
public void OnScroll(PointerEventData eventData)
{
Scroll.OnScroll(eventData);
}
}