using UnityEngine; using UnityEngine.UIElements; namespace LiveOpsExamples { public class RoundResultModalPanel : MonoBehaviour { private const int MaxLeaderboardRows = 10; [SerializeField] private PanelRenderer panelRenderer; [SerializeField] private CozyCollectorController controller; [SerializeField] private VisualTreeAsset leaderboardRowTemplate; private VisualElement root; private Label scoreLabel; private Label bestLabel; private Label collectedLabel; private ScrollView leaderboardScroll; private VisualElement emptyNote; private Button playAgainButton; private Button claimButton; private Button endButton; private Button closeButton; private void OnEnable() { panelRenderer.RegisterUIReloadCallback(OnUIReload); controller.ModalChanged += ApplyVisibility; controller.RoundResultChanged += Refresh; } private void OnDisable() { panelRenderer.UnregisterUIReloadCallback(OnUIReload); controller.ModalChanged -= ApplyVisibility; controller.RoundResultChanged -= Refresh; } private void OnUIReload(PanelRenderer renderer, VisualElement root) { this.root = root.Q("round-result-modal"); scoreLabel = this.root.Q