Пример #1
0
        public void SetData(DrawCardResultVo vo)
        {
            _data = vo;

            if (vo.IsNew)
            {
                transform.Find("NewImage").gameObject.Show();
            }
            else
            {
                transform.Find("NewImage").gameObject.Hide();
            }
            //todo
            bool isPuzzle;

            isPuzzle = vo.Resource == ResourcePB.Puzzle ? true : false;
            transform.Find("NameText").GetComponent <Text>().text = isPuzzle?$"{vo.Name}({I18NManager.Get("Card_PuzzleTap")})": vo.Name;
            transform.Find("PuzzleRawImage").gameObject.SetActive(isPuzzle);
            transform.Find("RawImage").gameObject.SetActive(isPuzzle);
            _cardQualityImage.sprite = AssetManager.Instance.GetSpriteAtlas(CardUtil.GetNewCreditSpritePath(vo.Credit));
            // _cardQualityImage.SetNativeSize();

            RawImage cardImage = transform.Find("Mask/CardImage").GetComponent <RawImage>();
            Texture  texture   = ResourceManager.Load <Texture>(vo.CardPath, ModuleConfig.MODULE_DRAWCARD);

            if (texture == null)
            {
                texture = ResourceManager.Load <Texture>("Card/Image/SmallCard/1000", ModuleConfig.MODULE_DRAWCARD);
            }
            cardImage.texture = texture;
        }
Пример #2
0
    public void SetResultVo(DrawCardResultVo vo)
    {
        AudioManager.Instance.StopDubbing();
        //Debug.LogError("SetResultVo " + CurDrawCardState);
        if (CurDrawCardState == CURANIMALSTATE.PRESS)
        {
            CurDrawCardState = CURANIMALSTATE.RESULATING;

            _animator.SetBool("IsResult", true);
        }
        else if (CurDrawCardState == CURANIMALSTATE.RESULATED)
        {
            CurDrawCardState = CURANIMALSTATE.REPEATING;
            _animator.SetBool("IsRepeat", true);
        }
        else if (CurDrawCardState == CURANIMALSTATE.REPEATED)
        {
            CurDrawCardState = CURANIMALSTATE.REPEATING;
            //  _animator.SetBool("IsRepeat", true);
            _animator.SetBool("IsEndRepeat", false);
        }
        else
        {
            return;
        }

        ParticleSystemRenderer ps = transform.Find("Particle System/SR").GetComponent <ParticleSystemRenderer>();
        var resMat = ResourceManager.Load <Material>(vo.GetShowMatPath(), ModuleConfig.MODULE_DRAWCARD);

        ps.material = resMat;

        _drawCardResultVo = vo;
    }
Пример #3
0
    private void ShowAwardCard()
    {
        // AudioManager.Instance.StopEffect();
        AudioManager.Instance.StopEffectByClipName("draw_card_enter");
        if (_isEnd || _drawAwards.Count == 0)
        {
            AudioManager.Instance.StopDubbing();
            SendMessage(new Message(MessageConst.MODULE_DRAWCARD_SHOW_RESULT_PANEL, _olddrawAwards));
            return;
        }

        // Debug.Log("抽到卡" + _drawAwards.Count);

        _awards = _drawAwards[_showIndex];
        // Debug.LogError("ShowAwardCard " + _drawCardAnimationEvent.CurDrawCardState);
        _drawCardAnimationEvent.SetResultVo(_awards);
        Debug.Log("抽到卡->" + _awards.CardId);
        _showIndex++;

        if (_showIndex == _drawAwards.Count)
        {
            Debug.Log("显示完了!");
            _isEnd = true;
        }
    }
Пример #4
0
    public void SetData(DrawCardResultVo _drawCardResultVo)
    {
        Debug.Log("DrawViewScreenShot "+ _drawCardResultVo.CardId +" name "+ _drawCardResultVo.Name);
        cardImage.texture  = ResourceManager.Load<Texture>(CardUtil.GetBigCardPath(_drawCardResultVo.CardId), ModuleConfig.MODULE_DRAWCARD);
        _name.text = _drawCardResultVo.Name;

        _credit.sprite = AssetManager.Instance.GetSpriteAtlas("UIAtlas_DrawCard_" + _drawCardResultVo.Credit.ToString());
        //_credit.SetNativeSize();
    }
Пример #5
0
    public void SetData(DrawCardResultVo vo)
    {
        _data = vo;
        transform.Find("NameText").GetComponent <Text>().text = vo.Name;



        RawImage cardImage = transform.Find("Mask/CardImage").GetComponent <RawImage>();
        Texture  texture   = ResourceManager.Load <Texture>(vo.FunPath, ModuleConfig.MODULE_DRAWCARD);

        if (texture == null)
        {
            Debug.LogError("don't hava fans texture");
        }
        //texture = ResourceManager.Load<Texture>("Card/Image/SmallCard/1000");
        cardImage.texture = texture;
    }
Пример #6
0
    public void SetResultVo(DrawCardResultVo vo)
    {
        _Ui.Hide();
        _drawCardResultVo   = vo;
        _isAnimationPlaying = true;
        if (_isRepeat)
        {
            animator.SetTrigger("RepeatTrigger");
            AudioManager.Instance.PlayEffect("draw_showcard", 1);
        }
        else
        {
            AudioManager.Instance.PlayEffect("draw_heart", 1);

            _isRepeat = true;
        }
    }
Пример #7
0
        public void ShareDrawCard(DrawCardResultVo drawCardResultVo)
        {
            IconSelectWindow win = PopupManager.ShowWindow <IconSelectWindow>(Constants.IconSelectWindowPath);

            win.clickCallback = (m) =>
            {
                ScreenShotUtil.ScreenShot(ScreenShotType.DrawCard,
                                          (imageUrl) =>
                {
                    ScreenShotCallback(m, imageUrl, ShareTypePB.ShareDraw);
                }, drawCardResultVo);
            };
            win.SetData(
                I18NManager.Get("Common_ShareTo"),
                IconType.WeChatFriend,
                IconType.WeChatFriendCircle,
                IconType.QQFriend,
                IconType.SinaWeibo
                );
        }
Пример #8
0
    public void SetData()
    {
        List <DrawCardResultVo> _awardPbs = new List <DrawCardResultVo>();

        foreach (var v in Awards)
        {
            DrawCardResultVo drawCardResultVo = new DrawCardResultVo(v);
            _awardPbs.Add(drawCardResultVo);

            switch (v.Resource)
            {
            case ResourcePB.Card:
                if (GlobalData.CardModel.GetUserCardById(v.ResourceId) == null)
                {
                    drawCardResultVo.IsNew = true;
                }
                //如果是ssr卡,需要播放语音
                if (drawCardResultVo.Credit == CreditPB.Ssr)
                {
                    drawCardResultVo.Dialog = GetData <DrawData>().GetRandomDialogById(drawCardResultVo.CardId);
                }
                //GlobalData.CardModel.UpdateUserCardsByIdAndNum(v.ResourceId, v.Num);
                break;

            case ResourcePB.Puzzle:
                break;

            case ResourcePB.Fans:
                //GlobalData.DepartmentData.UpdateFans(v.ResourceId, v.Num);
                break;
            }
        }

        bool isShowLapiao = GuideManager.GetRemoteGuideStep(GuideTypePB.MainGuide) >= GuideConst.MainLineStep_OnClick_LoveStroy_1;
        bool _show        = AppConfig.Instance.SwitchControl.Share;

        Debug.Log("OtherDrawController SetData " + isShowLapiao + " _show  " + _show);
        View.isOtherShow = true;
        View.SetShowCard(_awardPbs, _show && isShowLapiao);
    }
Пример #9
0
    public override void OnMessage(Message message)
    {
        string name = message.Name;

        switch (name)
        {
        case MessageConst.MODULE_DRAWCARD_SHOW_SHARE_CLICK:

            break;

        //服务器去扣费这里不用管
        //抽1次十次   需要发到主view中进行扣费  弹窗和付费窗口
        //生成动画的展示操作(view中的中间动画)
        case MessageConst.CMD_DRAWCARD_GET_CARD:
            //更新服务器的信息,然后显示卡牌
            DrawView.Hide();
            ShowCardView.Show();
            break;

        case MessageConst.CMD_DRAWCARD_GET_CARDLIST:
            //再这里发具体的消息
            //每次赋值后要更新list
            //这里后来要发送到服务器的 接收换到另一个地方   这边不用管在 服务端有这个信息const就行了
            //进行获取和扣费
            SendMessage(new Message(MessageConst.CMD_DRAWCARD_GET_CARDLIST + CardType + CardCount));

            DrawView.Hide();
            ShowCardView.Show();
            //每张卡之间的动画
            //在此处接到了list信息并显出来
            //showView.InitData(tempList);
            break;

        case MessageConst.CMD_DRAWCARD_DRAWCARD:
            DrawReq req = new DrawReq();
            req.DrawType = DrawType;
            //if (DrawType == DrawTypePB.ByGem)
            //{
            //    //req.UseItem = GetLeftDrawTime(DrawType) > 0 ? true : false;
            //    req.UseItem = true;
            //}
            //else if (DrawType == DrawTypePB.ByGem10)
            //{
            //    req.UseItem = true;
            //}
            //else
            //{
            //    req.UseItem = false;
            //}
            req.DrawPoolType = DrawPoolTypePB.DrawPoolCommon;

            byte[] buffer = NetWorkManager.GetByteData(req);
            NetWorkManager.Instance.Send <DrawRes>(CMD.DRAWC_DRAW, buffer, res =>
            {
                Debug.Log("CMD.DRAWC_DRAW---->" + res.ToString());
                UserItemPB pb = res.UserItem;
                if (res.UserDraw.DrawType == DrawTypePB.ByGem)
                {
                    if (GlobalData.LevelModel.FindLevel("1-7").IsPass&& GuideManager.GetRemoteGuideStep(GuideTypePB.MainGuide) < GuideConst.MainLineStep_OnClick_GlodDrawCard)
                    //if (GuideManager.IsMainGuidePass(GuideConst.MainStep_MainStory1_7_End))
                    {
                        //防止网络异常先模拟数据
                        UserGuidePB userGuide = new UserGuidePB()
                        {
                            GuideId   = GuideConst.MainLineStep_OnClick_GemDrawCard,
                            GuideType = GuideTypePB.MainGuide
                        };
                        GuideManager.UpdateRemoteGuide(userGuide);
                    }
                    GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_OnClick_GemDrawCard);
                }
                else if (res.UserDraw.DrawType == DrawTypePB.ByGold)
                {
                    if (GuideManager.GetRemoteGuideStep(GuideTypePB.MainGuide) == GuideConst.MainLineStep_OnClick_GemDrawCard)
//                      //  if (GuideManager.IsMainGuidePass(GuideConst.MainStep_DrawCard_GetCard))
                    {
                        //防止网络异常先模拟数据
                        UserGuidePB userGuide = new UserGuidePB()
                        {
                            GuideId   = GuideConst.MainLineStep_OnClick_GlodDrawCard,
                            GuideType = GuideTypePB.MainGuide
                        };
                        GuideManager.UpdateRemoteGuide(userGuide);
                    }
                    GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_OnClick_GlodDrawCard);
                }

                switch (res.UserDraw.DrawType)
                {
                //统计
                case DrawTypePB.ByGold:
                    SdkHelper.StatisticsAgent.OnEvent("抽卡金币消耗", GlobalData.ConfigModel.GetConfigByKey(GameConfigKey.DRAW_GOLD));
                    break;

                case DrawTypePB.ByGold10:
                    SdkHelper.StatisticsAgent.OnEvent("抽卡金币消耗", GlobalData.ConfigModel.GetConfigByKey(GameConfigKey.DRAW_GOLD_10));
                    break;
                }

                if (res.UserItem != null)
                {
                    GlobalData.PropModel.UpdateProps(new[] { res.UserItem });
                }
                if (res.UserMoney != null)
                {
                    GlobalData.PlayerModel.UpdateUserMoney(res.UserMoney);
                }

                GlobalData.RandomEventModel.AddDrawCardTimes(res.UserDraw.DrawType);

                List <DrawCardResultVo> VList = new List <DrawCardResultVo>();
                foreach (var v in res.Awards)
                {
                    DrawCardResultVo drawCardResultVo = new DrawCardResultVo(v);
                    VList.Add(drawCardResultVo);
                    // GetData<DrawData>().GetRandomDialogById(3307);
                    switch (v.Resource)
                    {
                    case ResourcePB.Card:
                        if (GlobalData.CardModel.GetUserCardById(v.ResourceId) == null)
                        {
                            drawCardResultVo.IsNew = true;
                        }
                        //如果是ssr卡,需要播放语音
                        if (drawCardResultVo.Credit == CreditPB.Ssr)
                        {
                            GlobalData.RandomEventModel.SsrGet = true;
                            drawCardResultVo.Dialog            = GetData <DrawData>().GetRandomDialogById(drawCardResultVo.CardId);
                        }
                        GlobalData.CardModel.UpdateUserCardsByIdAndNum(v.ResourceId, v.Num);
                        break;

                    case ResourcePB.Puzzle:
                        break;

                    case ResourcePB.Fans:
                        GlobalData.DepartmentData.UpdateFans(v.ResourceId, v.Num);
                        break;
                    }
                }
                SetData(VList);
            }, str =>
            {
                //todo 错误返回到抽卡主界面
                Debug.Log("DrawCard error :" + str);
                SendMessage(new Message(MessageConst.MODULE_VIEW_BACK_DRAWCARD));
            });
            break;
        }
    }
Пример #10
0
    public static void SendDraw(DrawTypePB DrawType, DrawPoolTypePB poolType, DrawData drawData, Action <List <DrawCardResultVo> > success, Action failure)
    {
        DrawReq req = new DrawReq();

        req.DrawType = DrawType;
        //if (DrawType == DrawTypePB.ByGem)
        //{
        //    //req.UseItem = GetLeftDrawTime(DrawType) > 0 ? true : false;
        //    req.UseItem = true;
        //}
        //else if (DrawType == DrawTypePB.ByGem10)
        //{
        //    req.UseItem = true;
        //}
        //else
        //{
        //    req.UseItem = false;
        //}
        req.DrawPoolType = poolType;

        byte[] buffer = NetWorkManager.GetByteData(req);
        NetWorkManager.Instance.Send <DrawRes>(CMD.DRAWC_DRAW, buffer, res =>
        {
            Debug.Log("CMD.DRAWC_DRAW---->" + res.ToString());
            UserItemPB pb = res.UserItem;

            if (res.UserDraw.DrawPoolType == DrawPoolTypePB.DrawPoolCommon)
            {
                if (res.UserDraw.DrawType == DrawTypePB.ByGem)
                {
                    if (GlobalData.LevelModel.FindLevel("1-7").IsPass&& GuideManager.GetRemoteGuideStep(GuideTypePB.MainGuide) < GuideConst.MainLineStep_OnClick_GemDrawCard)
                    //if (GuideManager.IsMainGuidePass(GuideConst.MainStep_MainStory1_7_End))
                    {
                        //防止网络异常先模拟数据
                        UserGuidePB userGuide = new UserGuidePB()
                        {
                            GuideId   = GuideConst.MainLineStep_OnClick_GemDrawCard,
                            GuideType = GuideTypePB.MainGuide
                        };
                        GuideManager.UpdateRemoteGuide(userGuide);
                    }
                    GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_OnClick_GemDrawCard);
                }
                else if (res.UserDraw.DrawType == DrawTypePB.ByGold)
                {
                    if (GuideManager.GetRemoteGuideStep(GuideTypePB.MainGuide) == GuideConst.MainLineStep_OnClick_GemDrawCard)
                    //                      //  if (GuideManager.IsMainGuidePass(GuideConst.MainStep_DrawCard_GetCard))
                    {
                        //防止网络异常先模拟数据
                        UserGuidePB userGuide = new UserGuidePB()
                        {
                            GuideId   = GuideConst.MainLineStep_OnClick_GlodDrawCard,
                            GuideType = GuideTypePB.MainGuide
                        };
                        GuideManager.UpdateRemoteGuide(userGuide);
                    }
                    GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_OnClick_GlodDrawCard);
                }
            }
            switch (res.UserDraw.DrawType)
            {
            //统计
            case DrawTypePB.ByGold:
                SdkHelper.StatisticsAgent.OnEvent("抽卡金币消耗", GlobalData.ConfigModel.GetConfigByKey(GameConfigKey.DRAW_GOLD));
                break;

            case DrawTypePB.ByGold10:
                SdkHelper.StatisticsAgent.OnEvent("抽卡金币消耗", GlobalData.ConfigModel.GetConfigByKey(GameConfigKey.DRAW_GOLD_10));
                break;
            }
            if (res.UserItem != null)
            {
                GlobalData.PropModel.UpdateProps(new[] { res.UserItem });
            }
            if (res.UserMoney != null)
            {
                GlobalData.PlayerModel.UpdateUserMoney(res.UserMoney);
            }
            GlobalData.RandomEventModel.AddDrawCardTimes(res.UserDraw.DrawType);
            List <DrawCardResultVo> VList = new List <DrawCardResultVo>();
            foreach (var v in res.Awards)
            {
                DrawCardResultVo drawCardResultVo = new DrawCardResultVo(v);
                VList.Add(drawCardResultVo);
                switch (v.Resource)
                {
                case ResourcePB.Card:
                    if (GlobalData.CardModel.GetUserCardById(v.ResourceId) == null)
                    {
                        drawCardResultVo.IsNew = true;
                    }
                    //如果是ssr卡,需要播放语音
                    if (drawCardResultVo.Credit == CreditPB.Ssr)
                    {
                        GlobalData.RandomEventModel.SsrGet = true;
                        drawCardResultVo.Dialog            = drawData.GetRandomDialogById(drawCardResultVo.CardId);
                    }
                    GlobalData.CardModel.UpdateUserCardsByIdAndNum(v.ResourceId, v.Num);
                    break;

                case ResourcePB.Puzzle:
                    break;

                case ResourcePB.Fans:
                    GlobalData.DepartmentData.UpdateFans(v.ResourceId, v.Num);
                    break;
                }
            }
            success?.Invoke(VList);
        }, str => {
            //todo 错误返回到抽卡主界面
            Debug.Log("DrawCard error :" + str);
            failure?.Invoke();
        });
    }