using System; using asap.core; using cfg; using GameCore; using UnityEngine; namespace EventBoostPack.Data { public class EventBoostPackManager : Activity.AEventDataManager { public override EventBoostPackData RefreshData(FishingEvent eventConfig) { var data = base.RefreshData(eventConfig); if (!data.IsActive) return data; TryShowFace(data); return data; } #region Pack public Pack GetCurrentPack(EventBoostPackData data) { var packConfig = data.PackConfig; if (packConfig == null) return null; var packIDs = packConfig.GetPackIDsByVipLevel(data.VipLevel); if (packIDs == null || packIDs.Count == 0) return null; return Tables.TbPack.GetOrDefault(packIDs[0]); } #endregion #region Panel public async void ShowPanel() { try { var data = LoadData(); if (!data.IsActive) return; var packConfig = data.PackConfig; if (packConfig == null) return; await UIManager.Instance.ShowUILoad(new UIType(packConfig.Panel)); } catch (Exception e) { Debug.LogError(e); } } private void TryShowFace(EventBoostPackData data) { if (data.GetRemainingBuyCount() <= 0) return; var packConfig = data.PackConfig; if (packConfig == null) return; GContext.container.Resolve() .AddGiftFaceUI(data.EventID, new UIType(packConfig.Panel), 0); } #endregion } }