45 lines
1.8 KiB
C#
45 lines
1.8 KiB
C#
using asap.core;
|
|
using GameCore;
|
|
using System.Threading.Tasks;
|
|
using UnityEngine.UI;
|
|
using DG.Tweening;
|
|
using UnityEngine;
|
|
|
|
public class EventLuckyCardsAct : AGameAct
|
|
{
|
|
EventLuckyGameModel model;
|
|
LuckyCardsSystem luckyCardsSystem;
|
|
private CanvasScaler _canvasScaler;
|
|
private readonly float normalScale = 0.75f, actScale = 1.0f, duration = 0.75f;
|
|
private readonly Vector2 targetResolution = new Vector2(1080, 2340);
|
|
private Vector2 originalResolution;
|
|
|
|
public override async Task<bool> StartAsync()
|
|
{
|
|
GContext.container.Unregister<LuckyCardsSystem>();
|
|
luckyCardsSystem = new LuckyCardsSystem();
|
|
GContext.container.RegisterInstance(luckyCardsSystem);
|
|
model = GContext.container.Resolve<EventLuckyGameModel>();
|
|
UIType uIType = new UIType(model.eventInfo.MainPrefab);
|
|
_canvasScaler = UIManager.Instance.GetComponent<CanvasScaler>();
|
|
// DOTween.To(() => _canvasScaler.matchWidthOrHeight, v => _canvasScaler.matchWidthOrHeight = v, actScale, duration).SetEase(Ease.OutQuad);
|
|
originalResolution = _canvasScaler.referenceResolution;
|
|
DOTween.To(() => _canvasScaler.referenceResolution, v => _canvasScaler.referenceResolution = v, targetResolution, duration).SetEase(Ease.OutQuad);
|
|
var panel = await UIManager.Instance.ShowUINotLoading(uIType);
|
|
GContext.container.Resolve<IDeferredRewardStashService>().Reset();
|
|
return await base.StartAsync();
|
|
}
|
|
|
|
public override Task StopAsync()
|
|
{
|
|
GContext.container.Unregister<LuckyCardsSystem>();
|
|
UIManager.Instance.DestroyUI(model.eventInfo.MainPrefab);
|
|
return base.StopAsync();
|
|
}
|
|
|
|
protected override void OnDestroy()
|
|
{
|
|
DOTween.To(() => _canvasScaler.referenceResolution, v => _canvasScaler.referenceResolution = v, originalResolution, duration).SetEase(Ease.OutQuad);
|
|
}
|
|
}
|