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(); 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); } }