Files
ft/Client/Assets/Scripts/EventBoostPack/Data/EventBoostPackManager.cs
2026-06-29 21:18:33 +08:00

64 lines
1.7 KiB
C#

using System;
using asap.core;
using cfg;
using GameCore;
using UnityEngine;
namespace EventBoostPack.Data
{
public class EventBoostPackManager : Activity.AEventDataManager<EventBoostPackData>
{
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<IFaceUIService>()
.AddGiftFaceUI(data.EventID, new UIType(packConfig.Panel), 0);
}
#endregion
}
}