| | |
| | | YunShiXBActModel model { get { return ModelCenter.Instance.GetModelEx<YunShiXBActModel>(); } }
|
| | | PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
| | | bool isWaitPack = false;
|
| | | bool isAnimPlay = false;
|
| | | protected override void AddListeners()
|
| | | {
|
| | | btnSkip.SetListener(() =>
|
| | |
| | | WindowCenter.Instance.uiRoot.eventSystem.enabled = true;
|
| | | ItemLogicUtility.Instance.hidePickItem = true;
|
| | | isWaitPack = false;
|
| | | isAnimPlay = false;
|
| | | happyXBModel.RefreshXBTypeInfoAct += OnRefreshXBTypeInfoAct;
|
| | | model.PlayAnimationSync += OnPlaySyncAnimation;
|
| | | packModel.refreshItemCountEvent += OnRefreshItemCountEvent;
|
| | |
| | | packModel.refreshItemCountEvent -= OnRefreshItemCountEvent;
|
| | | happyXBModel.RefreshXBResultAct -= RefreshXBResult;
|
| | | }
|
| | | private Clock animationTimeoutClock;
|
| | |
|
| | | private void RefreshXBResult()
|
| | | {
|
| | | isWaitPack = false;
|
| | | isAnimPlay = false;
|
| | | // 取消之前的定时器(如果有)
|
| | | StopClock();
|
| | | WindowCenter.Instance.uiRoot.eventSystem.enabled = false;
|
| | |
|
| | | if (model.isSkipXB)
|
| | | {
|
| | | ShowGetItem();
|
| | | }
|
| | | else
|
| | | {
|
| | | |
| | | Reset();
|
| | | MoveAndDisappear();
|
| | | isAnimPlay = true;
|
| | | // 设置动画超时回调
|
| | | animationTimeoutClock = Clock.AlarmAfter(5.0f, () =>
|
| | | {
|
| | | if (!isAnimPlay)
|
| | | return;
|
| | | Reset();
|
| | | WindowCenter.Instance.uiRoot.eventSystem.enabled = true;
|
| | | ShowGetItem();
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | | // 取消定时器(如果有)
|
| | | void StopClock() |
| | | {
|
| | | if (animationTimeoutClock != null)
|
| | | {
|
| | | Clock.Stop(animationTimeoutClock);
|
| | | animationTimeoutClock = null;
|
| | | }
|
| | | }
|
| | | private void OnRefreshItemCountEvent(PackType type1, int arg2, int arg3)
|
| | | {
|
| | | if (type1 != PackType.Item)
|
| | |
| | |
|
| | | private void Reset()
|
| | | {
|
| | | isAnimPlay = false;
|
| | | // 取消动画超时定时器
|
| | | StopClock();
|
| | |
|
| | | qianTongUIEffect.Stop();
|
| | |
|
| | | for (int i = 0; i < haveUIEffects.Count; i++)
|
| | |
| | | {
|
| | | DOTween.Kill(item.transform);
|
| | | }
|
| | |
|
| | | currentMoveSequence.Kill(false);
|
| | | currentShakeSequence.Kill(false);
|
| | | transQianTong.transform.position = transStartQianTong.transform.position;
|
| | | transQianTong.transform.rotation = transStartQianTong.transform.rotation;
|
| | |
|
| | |
| | | private Sequence currentMoveSequence;
|
| | | public void MoveAndDisappear()
|
| | | {
|
| | | |
| | |
|
| | | if (currentMoveSequence != null && currentMoveSequence.IsActive())
|
| | | {
|
| | | currentMoveSequence.Kill(false);
|
| | |
| | | foreach (YunShiXBItem item in yunShiXBItems)
|
| | | {
|
| | | currentMoveSequence.Join(item.transform.DOMove(transItemMissEnd.position, 0.5f).SetEase(Ease.InOutSine).OnComplete(() => {
|
| | | item.SetActive(false); |
| | | item.SetActive(false);
|
| | | }));
|
| | | }
|
| | | currentMoveSequence.Join(transQianTong.transform.DORotate(new Vector3(0, 0, -5), 0.3f).SetEase(Ease.InOutSine).OnComplete(() => { qianTongUIEffect.Play(); }));
|
| | |
| | |
|
| | | private void ShowGetItem()
|
| | | {
|
| | | // 取消动画超时定时器
|
| | | StopClock();
|
| | | WindowCenter.Instance.uiRoot.eventSystem.enabled = true;
|
| | |
|
| | | if (happyXBModel.title == HappXBTitle.YunShi1 || happyXBModel.title == HappXBTitle.YunShi2 || happyXBModel.title == HappXBTitle.YunShi3 || happyXBModel.title == HappXBTitle.YunShi4)
|
| | | {
|
| | | var xbItemlist = happyXBModel.rangelist;
|
| | |
| | | itemList.Add(new Item(xbItem.itemId, (ulong)xbItem.count));
|
| | | }
|
| | | ItemLogicUtility.Instance.ShowGetItem(itemList, seconds: 0, func: () => {
|
| | | |
| | |
|
| | | happyXBModel.rangelist.Clear();
|
| | | Reset();
|
| | | Display();
|
| | | });
|
| | | |
| | | WindowCenter.Instance.uiRoot.eventSystem.enabled = true;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | qianPositionTweens[i].Stop();
|
| | | qianPositionTweens[i].SetStartState();
|
| | | }
|
| | | //isAnimPlay = false;
|
| | | Clock.AlarmAfter(0.5, ShowGetItem);
|
| | | });
|
| | | });
|