using System.Collections.Generic; using Cysharp.Threading.Tasks; using Framework; using Gameplay; using Gameplay.Guide; using PhxhSDK; using Unity.Mathematics; using Constants = PhxhSDK.Constants; public class SignUpManager : Singlenton, IInitable { private Dictionary _accumulateDic; public void Init() { _accumulateDic = new Dictionary(); } public void Release() { } private void _CreateSignObjs() { _CreateAccumulateObjs(); } //创建累计充值的对象 private void _CreateAccumulateObjs() { if (_accumulateDic.Count > 0) { _accumulateDic.Clear(); } _CreateAccumulateObj(1); } private void _CreateAccumulateObj(int signId) { if (!_accumulateDic.ContainsKey(signId)) { var accSignObj = SignObjAccumulate.CreateObj(signId); _accumulateDic.Add(signId, accSignObj); } } public async UniTask CheckShowSignUp() { if (GuideManager.Instance.IsGuiding) // 引导中不弹每日登录奖励 return false; if (_accumulateDic.Count > 0) return false; _CreateSignObjs(); if (_accumulateDic[1].IsNeedToShow) { await UI_DailyBonusController.Open(1); return true; } return false; } public SignObjAccumulate GetAccumulateSignObj(int signId) { if (_accumulateDic.TryGetValue(signId, out var obj)) { return obj; } return null; } }