Beispiel #1
0
    public override void OnMessage(Message message)
    {
        string name = message.Name;

        object[] bodys = message.Params;
        switch (name)
        {
        case MessageConst.CMD_BATTLE_REMOVE_HERO_CARD:
            _model.SelectedCount--;
            BattleUserCardVo vo = (BattleUserCardVo)bodys[0];
            vo.IsUsed = false;
            View.RemoveCard(vo);
            break;

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

        case MessageConst.CMD_CAPSULEBATTLE_SUPERSTAR_CONFIRM:
            SendCapsuleBattleChallenge(_model.LevelVo, (List <BattleUserCardVo>)bodys[1]);
            break;

        case MessageConst.GUIDE_BATTLE_SUPERSTAR_CONFIRM:
            View.Confirm();
            break;
        }
    }
    private void Awake()
    {
        _smallCardList                = transform.Find("BgBottom/SmallCardList").GetComponent <LoopVerticalScrollRect>();
        _smallCardList.poolSize       = 8;
        _smallCardList.prefabName     = "Battle/Prefabs/SmallHeroCard";
        _smallCardList.UpdateCallback = ListUpdataCallback;

        _cards = new List <BattleUserCardVo>();

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

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

        okBtn.onClick.AddListener(Confirm);

        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 =>
            {
                BattleUserCardVo data = go.GetComponent <MiddleHeroCard>().GetData();
                if (data != null)
                {
                    SendMessage(new Message(MessageConst.CMD_BATTLE_REMOVE_HERO_CARD,
                                            Message.MessageReciverType.CONTROLLER, data));
                }
            };
        }
    }
Beispiel #3
0
    private void OnSmallHeroCardClick(BattleUserCardVo vo)
    {
        int cardOpenNum = _model.CardOpenNum();

        if (_model.SelectedCount >= cardOpenNum)
        {
            if (vo.IsUsed == false)
            {
                FlowText.ShowMessage(I18NManager.Get("SupporterActivity_AtMost",
                                                     cardOpenNum)); // ("最多选择"+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);
            }
        }
    }
Beispiel #4
0
   public void InitCardList(List<UserCardVo> list)
   {
      SelectedCount = 0;

      UserCardList = new List<BattleUserCardVo>();
      for (int i = 0; i < list.Count; i++)
      {
         BattleUserCardVo vo = new BattleUserCardVo();
         vo.UserCardVo = list[i];
         UserCardList.Add(vo);
      }
   }
Beispiel #5
0
        public void SetData(BattleUserCardVo 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_BATTLE, true);

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

            _cardImage.texture = texture;
        }
    public void AddHeroCard(BattleUserCardVo vo)
    {
        for (int i = 0; i < 6; i++)
        {
            MiddleHeroCard card = _middleCards.GetChild(i).GetComponent <MiddleHeroCard>();
            if (card.GetData() == null)
            {
                card.SetData(vo);
                break;
            }
        }

        _smallCardList.RefreshCells();
        _cards.Add(vo);
        CountPoints();
    }
    /// <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_BATTLE_REMOVE_HERO_CARD:
            _model.SelectedCount--;
            BattleUserCardVo vo = (BattleUserCardVo)bodys[0];
            vo.IsUsed = false;
            View.RemoveCard(vo);
            break;

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

        case MessageConst.CMD_BATTLE_SUPERSTAR_CONFIRM:

            var req = new ChallengeReq();
            req.LevelId = _model.LevelVo.LevelId;

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

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

            var data = NetWorkManager.GetByteData(req);

            GetService <BattleService>()
            .Request(data)
            .SetCallback(OnGetChallenge, OnChallengeError)
            .Execute();

            break;

        case MessageConst.GUIDE_BATTLE_SUPERSTAR_CONFIRM:
            View.Confirm();
            break;
        }
    }
    public void RemoveCard(BattleUserCardVo vo)
    {
        for (int i = 0; i < 6; i++)
        {
            MiddleHeroCard card = _middleCards.GetChild(i).GetComponent <MiddleHeroCard>();
            if (card.GetData().UserCardVo.CardId == vo.UserCardVo.CardId)
            {
                card.SetData(null);
                card.transform.SetAsLastSibling();
                break;
            }
        }

        ResetMiddleHeroCard();
        _smallCardList.RefreshCells();
        _cards.Remove(vo);
        CountPoints();
    }
Beispiel #9
0
        public void SetData(BattleUserCardVo battleUserCardVo)
        {
            _battleUserCardVo = battleUserCardVo;
            UserCardVo vo = battleUserCardVo.UserCardVo;

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

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

            _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 = 0; 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 < vo.MaxStars);
                GameObject redheart = heartroot.Find("redHeart").gameObject;
                redheart.SetActive(i < vo.Star);
            }

            _cg.alpha = battleUserCardVo.IsUsed ? 0.6f : 1.0f;
        }
Beispiel #10
0
        private void PickCard()
        {
            RectTransform bgBottom = transform.Find("SuperStar/BgBottom").GetComponent <RectTransform>();

            bgBottom.gameObject.Show();

            RectTransform rect = GetComponent <RectTransform>();

            RectTransform bgTop           = transform.GetRectTransform("SuperStar/BgTop");
            float         containerHeight = rect.GetSize().y;
            float         topHeight       = bgTop.sizeDelta.y;
            float         topTop          = bgTop.offsetMax.y;
            float         bottomHeight    = containerHeight - (topHeight - topTop) - 90;

            bgBottom.sizeDelta = new Vector2(bgBottom.sizeDelta.x, bottomHeight);

            Transform guideView = transform.Find("SuperStar/GuideView2");

            guideView.gameObject.Show();

            Transform card1 = transform.Find("SuperStar/BgBottom/Card1");

            GuideArrow.DoAnimation(card1);

            PointerClickListener.Get(card1.gameObject).onClick = go =>
            {
                UserCardVo       userCardVo = GlobalData.CardModel.UserCardList[0];
                BattleUserCardVo vo         = new BattleUserCardVo();
                vo.UserCardVo = userCardVo;
                EventDispatcher.TriggerEvent(EventConst.SmallHeroCardClick, vo);

                bgBottom.gameObject.Hide();
                guideView.gameObject.Hide();

                ClickOk();
            };
        }