コード例 #1
0
    private void Awake()
    {
        _smallCardList                = transform.Find("BgBottom/SmallCardList").GetComponent <LoopVerticalScrollRect>();
        _smallCardList.poolSize       = 8;
        _smallCardList.prefabName     = "VisitBattle/Prefabs/VisitSmallHeroCard";
        _smallCardList.UpdateCallback = ListUpdataCallback;

        _cards = new List <VisitBattleUserCardVo>();

        _middleCards = transform.Find("BgTop/StarContainer");

        var okBtn = transform.Find("BgTop/OkBtn").GetComponent <Button>();

        okBtn.onClick.AddListener(() =>
        {
            if (_cards.Count == 0)
            {
                SendMessage(new Message(MessageConst.CMD_VISITBATTLE_SUPERSTAR_CONFIRM_ERROR1));
                return;
            }

            SendMessage(new Message(MessageConst.CMD_VISITBATTLE_SUPERSTAR_CONFIRM, Message.MessageReciverType.DEFAULT,
                                    _totalPower, _cards));
        });

        var quicklySelectBtn = transform.Find("BgTop/QuicklySelectBtn").GetComponent <Button>();

        quicklySelectBtn.onClick.AddListener(() =>
        {
            SendMessage(new Message(MessageConst.CMD_VISITBATTLE_SUPERSTAR_QUICKSELECT, Message.MessageReciverType.CONTROLLER));
        });

        Transform tabBar = transform.Find("TabScrollView/Viewport/TabBar");

        for (int i = 0; i < tabBar.childCount; i++)
        {
            PointerClickListener.Get(tabBar.GetChild(i).gameObject).onClick = OnTabClick;
        }

        for (int i = 0; i < 6; i++)
        {
            PointerClickListener.Get(_middleCards.GetChild(i).gameObject).onClick = go =>
            {
                VisitBattleUserCardVo data = go.GetComponent <VisitMiddleHeroCard>().GetData();
                if (data != null)
                {
                    SendMessage(new Message(MessageConst.CMD_VISITBATTLE_REMOVE_HERO_CARD,
                                            Message.MessageReciverType.CONTROLLER, data));
                }
            };
        }
    }
コード例 #2
0
        public void SetData(VisitBattleUserCardVo battleUserCardVo)
        {
            if (battleUserCardVo == null)
            {
                _data = null;
                _container.gameObject.Hide();
                _emptyBg.gameObject.Show();
                return;
            }

            UserCardVo vo = battleUserCardVo.UserCardVo;

            _emptyBg.gameObject.Hide();
            _container.gameObject.Show();

            _data = battleUserCardVo;

            transform.Find("Container/QualityBg/LevelText").GetComponent <Text>().text = "Lv." + vo.Level;
            Transform heartBar = transform.Find("Container/QualityBg/HeartBar");

            _cardQualityImage.sprite =
                AssetManager.Instance.GetSpriteAtlas(CardUtil.GetNewCreditSpritePath(vo.CardVo.Credit));
            //_cardQualityImage.SetNativeSize();

            for (int i = 1; i < 6; i++)
            {
//                RawImage item = heartBar.GetChild(4 - i).GetComponent<RawImage>();
//                float alpha = 0.5f;
//                if (vo.Star > i)
//                {
//                    alpha = 1.0f;
//                }
//
//                item.color = new Color(item.color.r, item.color.g, item.color.b, alpha);
//                item.gameObject.SetActive(i < vo.MaxStars);
                var heartroot = heartBar.GetChild(i);
                heartroot.gameObject.SetActive(i - 1 < vo.MaxStars);
                GameObject redheart = heartroot.Find("redHeart").gameObject;
                redheart.SetActive(i - 1 < vo.Star);
            }

            Texture texture = ResourceManager.Load <Texture>(vo.CardVo.MiddleCardPath(vo.UserNeedShowEvoCard()), ModuleConfig.MODULE_VISITBATTLE);

            if (texture == null)
            {
                Debug.LogError(vo.CardVo.MiddleCardPath(vo.UseEvo == EvolutionPB.Evo1));
                texture = ResourceManager.Load <Texture>(vo.CardVo.MiddleCardPath(), ModuleConfig.MODULE_VISITBATTLE);
            }

            _cardImage.texture = texture;
        }
コード例 #3
0
    public void AddHeroCard(VisitBattleUserCardVo vo)
    {
        for (int i = 0; i < 6; i++)
        {
            VisitMiddleHeroCard card = _middleCards.GetChild(i).GetComponent <VisitMiddleHeroCard>();
            if (card.GetData() == null)
            {
                card.SetData(vo);
                break;
            }
        }

        _smallCardList.RefreshCells();
        _cards.Add(vo);
        CountPoints();
    }
コード例 #4
0
    /// <summary>
    /// 处理View消息
    /// </summary>
    /// <param name="message"></param>
    public override void OnMessage(Message message)
    {
        string name = message.Name;

        object[] bodys = message.Params;
        switch (name)
        {
        case MessageConst.CMD_VISITBATTLE_REMOVE_HERO_CARD:
            VisitBattleUserCardVo vo = (VisitBattleUserCardVo)bodys[0];
            if (_isCardLock && _model.LevelVo.LevelExtra.CardId == vo.UserCardVo.CardId)
            {
                FlowText.ShowMessage(I18NManager.Get("Visit_Hint3"));
                return;
            }
            _model.SelectedCount--;
            vo.IsUsed = false;
            View.RemoveCard(vo);
            break;

        case MessageConst.CMD_VISITBATTLE_SUPERSTAR_CONFIRM_ERROR1:
            FlowText.ShowMessage(I18NManager.Get("SupporterActivity_Hint1"));
            break;

        case MessageConst.CMD_VISITBATTLE_SUPERSTAR_QUICKSELECT:
            FlowText.ShowMessage("CMD_VISITBATTLE_SUPERSTAR_QUICKSELECT");
            break;

        case MessageConst.CMD_VISITBATTLE_SUPERSTAR_CONFIRM:
            var req = new VisitingChallengeReq();
            req.LevelId = _model.LevelVo.LevelId;

            List <VisitBattleUserCardVo> cards = (List <VisitBattleUserCardVo>)bodys[1];
            foreach (var vo1 in cards)
            {
                req.CardIds.Add(vo1.UserCardVo.CardId);
            }

            VisitBattleModel model = GetData <VisitBattleModel>();
            req.Fans.Add(model.FansDict);
            req.Items.Add(model.ItemsDict);

            var data = NetWorkManager.GetByteData(req);
            NetWorkManager.Instance.Send <VisitingChallengeRes>(CMD.VISITINGC_CHALLENGE, data, OnGetChallenge, OnChallengeError);
            break;
        }
    }
コード例 #5
0
    public void RemoveCard(VisitBattleUserCardVo vo)
    {
        for (int i = 0; i < 6; i++)
        {
            VisitMiddleHeroCard card = _middleCards.GetChild(i).GetComponent <VisitMiddleHeroCard>();
            if (card.GetData().UserCardVo.CardId == vo.UserCardVo.CardId)
            {
                card.SetData(null);
                card.transform.SetAsLastSibling();
                break;
            }
        }

        ResetMiddleHeroCard();
        _smallCardList.RefreshCells();
        _cards.Remove(vo);
        CountPoints();
    }
コード例 #6
0
        public void SetData(VisitBattleUserCardVo battleUserCardVo)
        {
            _battleUserCardVo = battleUserCardVo;
            UserCardVo vo = battleUserCardVo.UserCardVo;

            Texture texture = ResourceManager.Load <Texture>(vo.CardVo.SmallCardPath(vo.UserNeedShowEvoCard()), ModuleConfig.MODULE_VISITBATTLE);

            if (texture == null)
            {
                //Debug.LogError(vo.CardVo.SmallCardPath(vo.UseEvo==EvolutionPB.Evo1));
                texture = ResourceManager.Load <Texture>(vo.CardVo.SmallCardPath(), ModuleConfig.MODULE_VISITBATTLE);
            }

            _cardImage.texture = texture;

            _cardQualityImage.sprite = HeroCardUtil.GetQualityImage(vo.CardVo.Credit);
            //_cardQualityImage.SetNativeSize();

            _nameText.text  = vo.CardVo.CardName;
            _levelText.text = "Lv." + vo.Level;

            for (int i = 1; i < _heartBar.childCount; i++)
            {
//                RawImage heart = _heartBar.GetChild(i).GetComponent<RawImage>();
//                if (vo.Star > i)
//                {
//                    heart.color = new Color(heart.color.r, heart.color.g, heart.color.b, 1.0f);
//                }
//                else
//                {
//                    heart.color = new Color(heart.color.r, heart.color.g, heart.color.b, 0.5f);
//                }
                var heartroot = _heartBar.GetChild(i);
                heartroot.gameObject.SetActive(i - 1 < vo.MaxStars);
                GameObject redheart = heartroot.Find("redHeart").gameObject;
                redheart.SetActive(i - 1 < vo.Star);
            }

            _cg.alpha = battleUserCardVo.IsUsed ? 0.6f : 1.0f;
        }
コード例 #7
0
    private void OnSmallHeroCardClick(VisitBattleUserCardVo vo)
    {
        if (_isCardLock && _model.LevelVo.LevelExtra.CardId == vo.UserCardVo.CardId)
        {
            FlowText.ShowMessage(I18NManager.Get("Visit_Hint3"));
            return;
        }
        int cardOpenNum = _model.CardOpenNum();

        if (_model.SelectedCount >= cardOpenNum)
        {
            if (vo.IsUsed == false)
            {
                FlowText.ShowMessage(I18NManager.Get("Visit_Hint4", cardOpenNum));
            }
            else
            {
                _model.SelectedCount--;
                vo.IsUsed = false;
                View.RemoveCard(vo);
            }
        }
        else if (_model.SelectedCount < cardOpenNum)
        {
            if (vo.IsUsed == false)
            {
                _model.SelectedCount++;
                vo.IsUsed = true;
                View.AddHeroCard(vo);
            }
            else
            {
                _model.SelectedCount--;
                vo.IsUsed = false;
                View.RemoveCard(vo);
            }
        }
    }