using System; using UnityEngine; using UnityEngine.UI; using GameCore; using asap.core; using EventSmash.Manager; using UnityEngine.Playables; using game; using System.Threading.Tasks; using Spine.Unity; using UIExtend.Component; namespace EventSmash.UIPanel { public class EventSmashCell : MonoBehaviour { #region 组件 private Button _clickButton; private GameObject _unopenedObj; private RewardItemNew _reward; private RewardItemNew _reward_permanent; private GameObject singleOpenObj; //private GameObject allOpenObj; private PlayableDirector _director; private Animation _animation; private Image _imgItemNormal; private Image _imgItemFlat; #endregion [SerializeField] private PlayableAsset singleOpenTimeLine; [SerializeField] private PlayableAsset allOpenTimeLine; private int m_GridIndex; private ItemData _cachedRewardItem; private EventSmashData _cachedData; private Func _playCollectionRewardFly; private Func _afterCollectionFlyAsync; public bool IsOpened { get; private set; } public void SetClickable(bool clickable) { if (_clickButton != null) _clickButton.enabled = clickable && !IsOpened; } private void Awake() { _clickButton = gameObject.FindChildGameObject("btn_click").GetComponent