Exemplo n.º 1
0
    /// <summary>
    /// 抓捕地鼠,请求服务器
    /// </summary>
    public async UniTask CatchMouse()
    {
        //抓到地鼠后碰撞器离开关闭
        MouseCollider.SetActive(false);
        mouseNumMark += 1;
        UIComponent.CreateUI(UIType.UIEventMask);
        //播放敲打动画
        HammerPivot.transform.localPosition = Mouse.transform.localPosition + new Vector3(0.5f, -0.3f, 0);
        Hammer.SetActive(true);
        HammerPivot.transform.DOLocalRotate(new Vector3(0, 0, 0), 0.2f).OnComplete(() =>
        {
            HammerPivot.transform.DOLocalRotate(new Vector3(0, 0, 35), 0.1f).OnComplete(() =>
            {
                Hammer.SetActive(false);
            });
        });
        await UniTask.Delay(300, cancellationToken : ctsWaitTileReach.Token);

        //清除地鼠
        isActive = false;
        SaveMouseInfo();
        mouseAnim.Play("beida");
        //被打动画0.833s
        await UniTask.Delay(900, cancellationToken : ctsWaitTileReach.Token);

        if (gameObject == null)
        {
            return;
        }
        SetMouseActiveAndMove();
        UIComponent.HideUI(UIType.UIEventMask);
        //请求服务器
        CSEmptyMarmotAwardInfo csEmptyMarmotAwardInfo = new CSEmptyMarmotAwardInfo()
        {
        };

        if (isUser)
        {
            ProtocalManager.Instance().SendCSEmptyMarmotAwardInfo(csEmptyMarmotAwardInfo, (scMarmotAwardInfo) =>
            {
                StaticData.DataDot(Company.Cfg.DotEventId.CatchMouseSucc);
                IncreaseCatchAmountUser();
                mouseGenerateInfo.UserLastGenerateTime = TimeHelper.ServerTimeStampNow;
                CreateMouseTimer(0);
                SaveMouseInfo();
                CreateReceiveBoxUI(scMarmotAwardInfo.AwardInfo);
            }, (error) => { });
        }
        else
        {
            CSFriendMarmot csFriendMarmot = new CSFriendMarmot()
            {
                FriendUid = playerUid
            };
            ProtocalManager.Instance().SendCSEmptyMarmotAwardInfo(csEmptyMarmotAwardInfo, (scMarmotAwardInfo) =>
            {
                StaticData.DataDot(Company.Cfg.DotEventId.CatchMouseSucc);
                mouseGenerateInfo.ListFriendUidMouseCatch.Add(playerUid);
                SaveMouseInfo();
                CreateReceiveBoxUI(scMarmotAwardInfo.AwardInfo);
            }, (error) => { });
        }
    }
Exemplo n.º 2
0
        public void SendCSEmptyMarmotAwardInfo(CSEmptyMarmotAwardInfo csemptymarmotawardinfo, Action <SCMarmotAwardInfo> ResponseSCMarmotAwardInfoCallBack, Action <ErrorInfo> errorCallBack, bool isShowDefaultTip = true)
        {
            OpCodeType opCodeType = ListOPRelation.GetOpCodeTypeByRequest <CSEmptyMarmotAwardInfo> ();

            ProtoSendMethod.BusinessRequest <SCMarmotAwardInfo>(csemptymarmotawardinfo, opCodeType, ResponseSCMarmotAwardInfoCallBack, errorCallBack, isShowDefaultTip);
        }