using System; using Event1v1Battle.Data; using game; using GameCore; using UIExtend.Component; using UnityEngine; namespace Event1v1Battle.Panel.MainPanel { public class Event1v1BattleSlapContainerPanel:BasePanel { #region ui private Event1v1BattleSlapPanel _battleSlapPanel; private Event1v1BattleSlapMatchPanel _battleSlapMatchPanel; //private Event1v1BattleSlapTvPopupPanel _battleSlapTvPopupPanel; #endregion private Event1v1BattleSlapManager _manager; private Event1v1BattleSlapData Data => _manager.LoadData(); private void Awake() { _battleSlapPanel = GetComponentInChildren(true); //_battleSlapTvPopupPanel = GetComponentInChildren(true); _battleSlapMatchPanel = GetComponentInChildren(true); } private void HideAllPanel() { _battleSlapPanel?.SetActive(false); _battleSlapMatchPanel?.SetActive(false); } public Event1v1BattleSlapContainerPanel SetData(Event1v1BattleSlapManager manager) { _manager = manager; return this; } public void ShowBattleSlapMatchPanel() { _battleSlapMatchPanel.SetData(Data); _battleSlapMatchPanel.SetActive(true); } public void ShowBattleSlapPanel() { HideAllPanel(); // 必须先激活再 SetData:OnSetData 里会同步 PlayChestOpenAni → PlayableDirector.Play, // 若子面板仍为 inactive,Timeline 不会推进、画面上看不到开箱动画。 _battleSlapPanel.SetActive(true); _battleSlapPanel.SetData(_manager); } public async void PlayRandomRpcAni() { try { ShowBattleSlapMatchPanel(); await _battleSlapMatchPanel.PlayMatchAnimationAsync(); UIManager.Instance.DestroyUI(UITypes.Event1v1BattleSlapPanel); _manager.ShowLoadingPanel(Data); } catch (Exception e) { Debug.LogError(e); } } } }