using System; using System.Collections.Generic; using MoleMole.Config; using UniRx; using UnityEngine; using UnityEngine.UI; using proto; namespace MoleMole { public class GachaMainPageContext : BasePageContext { public enum GachaAmountType { GachaOne = 0, GachaTen = 1 } public class WaitGachaRsp { public bool _waiting; public GachaType _gachaType; public GachaAmountType _amountType; public Action _callback; public void Start(GachaType gacha, GachaAmountType amount, Action callback) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) if (!_waiting) { _waiting = true; _gachaType = gacha; _amountType = amount; _callback = callback; ShowWheel(); } } public void End() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) if (_waiting) { _waiting = false; _callback(_gachaType, _amountType); } } private void ShowWheel() { LoadingWheelWidgetContext loadingWheelWidgetContext = new LoadingWheelWidgetContext(59); loadingWheelWidgetContext.ignoreMaxWaitTime = true; Singleton.Instance.ShowWidget(loadingWheelWidgetContext); } } public const string HCOIN_TAB = "HcoinTab"; public const string SPECIAL_TAB = "SpecialTab"; public const string FRIEND_TAB = "FriendTab"; private List _gachaGotList; private List _gachaItemList; private SequenceDialogManager _dropItemShowDialogManager; private SequenceDialogManager _unLockAvatarDialogManager; private GachaType _currentGachaType; private TabManager _tabManager; private GachaDisplayInfo _displayInfo; private string _currentTabKey = "HcoinTab"; private int _cost; private WaitGachaRsp _waitGachaRsp; private int[] _avatarCardIDs = new int[12] { 60101, 60102, 60103, 60104, 60201, 60202, 60203, 60204, 60301, 60302, 60303, 60304 }; public GachaMainPageContext() { config = new ContextPattern { contextName = "GachaMainPageContext", viewPrefabPath = "UI/Menus/Page/Gacha/GachaMainPage", cacheType = ViewCacheType.AlwaysCached }; _gachaGotList = new List(); _tabManager = new TabManager(); _tabManager.onSetActive += OnTabSetActive; _waitGachaRsp = new WaitGachaRsp(); } public override bool OnPacket(NetPacketV1 pkt) { switch (pkt.getCmdId()) { case 63: return OnGachaDisplayInfoGot(pkt.getData()); case 59: return OnGachaRsp(pkt.getData()); case 216: return SetupView(); default: return false; } } public override bool OnNotify(Notify ntf) { if (ntf.type == NotifyTypes.DownloadResAssetSucc) { return SetupView(); } return false; } protected override void BindViewCallbacks() { BindViewCallback(base.view.transform.Find("TabBtns/TabBtn_1").GetComponent