64 lines
1.7 KiB
C#
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
|
|
}
|
|
}
|