using System; using AppleHills.Data.CardSystem; using BookCurlPro; using UnityEngine; using UnityEngine.UI; using Tween = Pixelplacement.Tween; namespace UI.CardSystem { /// /// Tab button for navigating to specific pages in the card album book. /// Coordinates with other tabs via static events for visual feedback. /// [RequireComponent(typeof(Button))] public class BookTabButton : MonoBehaviour { [Header("Book Reference")] [SerializeField] private BookPro book; [Header("Tab Configuration")] [SerializeField] private int targetPage; [SerializeField] private CardZone zone; [Header("Visual Settings")] [SerializeField] private bool enableScaling = true; [SerializeField] private float selectedScale = 2.0f; [SerializeField] private float normalScale = 1.0f; [SerializeField] private float scaleTransitionDuration = 0.2f; private Button button; private RectTransform rectTransform; private Vector2 originalSize; // Static dispatcher for coordinating all tabs private static event Action OnTabClicked; // Public properties to access this tab's configuration public CardZone Zone => zone; public int TargetPage => targetPage; private void Awake() { // Get required components button = GetComponent