using UnityEngine; using UnityEngine.UIElements; namespace LiveOpsExamples { public class OfferModalPanel : MonoBehaviour { [SerializeField] private PanelRenderer panelRenderer; [SerializeField] private CozyCollectorController controller; private VisualElement root; private Label titleLabel; private Label nameLabel; private Label priceLabel; private Button buyButton; private Button declineButton; private Button closeButton; private void OnEnable() { panelRenderer.RegisterUIReloadCallback(OnUIReload); controller.ModalChanged += ApplyVisibility; controller.OfferChanged += Refresh; } private void OnDisable() { panelRenderer.UnregisterUIReloadCallback(OnUIReload); controller.ModalChanged -= ApplyVisibility; controller.OfferChanged -= Refresh; } private void OnUIReload(PanelRenderer renderer, VisualElement root) { this.root = root.Q("offer-modal"); titleLabel = this.root.Q