72 lines
1.8 KiB
C#
72 lines
1.8 KiB
C#
|
using Newtonsoft.Json;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.IO;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UIElements;
|
|||
|
|
|||
|
public class SessionsListView : MonoBehaviour
|
|||
|
{
|
|||
|
#region PROPERTIES
|
|||
|
#endregion
|
|||
|
#region VARIABLES
|
|||
|
|
|||
|
[SerializeField] private UIDocument uiDocument;
|
|||
|
private StatsMenuController _statsController;
|
|||
|
|
|||
|
#endregion
|
|||
|
#region EVENTS
|
|||
|
|
|||
|
private void OnButtonClick(SessionData sessionData)
|
|||
|
{
|
|||
|
_statsController.OnSessionSelected(sessionData);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
#region METHODS
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
#region LIFECYCLE
|
|||
|
|
|||
|
private void Awake()
|
|||
|
{
|
|||
|
_statsController = StatsMenuController.Instance;
|
|||
|
}
|
|||
|
|
|||
|
private void Start()
|
|||
|
{
|
|||
|
var sessionDataList = _statsController.Sessions;
|
|||
|
var root = uiDocument.rootVisualElement;
|
|||
|
|
|||
|
var listView = root.Q<ListView>("ListViewSessions");
|
|||
|
|
|||
|
listView.itemsSource = sessionDataList;
|
|||
|
listView.makeItem = () => new Button();
|
|||
|
listView.bindItem = (element, index) =>
|
|||
|
{
|
|||
|
var button = element as Button;
|
|||
|
var sessionData = sessionDataList[index];
|
|||
|
button.text = $"Session {sessionData.SessionNumber} | {sessionData.Date.ToString("ddd, dd MMM yyy")}";
|
|||
|
button.AddToClassList("list-button");
|
|||
|
button.style.backgroundColor = new Color(0, 0, 0, 0.2f);
|
|||
|
button.style.height = 50;
|
|||
|
button.style.marginLeft = 10;
|
|||
|
button.style.marginRight = 10;
|
|||
|
button.style.marginBottom = 2;
|
|||
|
button.style.color = Color.white;
|
|||
|
// Ajouter un callback pour lorsque le bouton est cliqu<71>
|
|||
|
button.clicked += () => OnButtonClick(sessionData);
|
|||
|
};
|
|||
|
|
|||
|
listView.fixedItemHeight = 52;
|
|||
|
listView.selectionType = SelectionType.Single;
|
|||
|
listView.style.flexGrow = 1.0f;
|
|||
|
|
|||
|
listView.Rebuild();
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|