示例#1
0
    /// <summary>
    /// 刷新上阵卡牌信息
    /// </summary>
    /// <param name="item"></param>
    void UpdateCardFightGrid(UIGridItem item)
    {
        if (item == null || item.oData == null || item.mScripts == null)
        {
            return;
        }
        CardDataMsg info = item.oData as CardDataMsg;

        UILabel   nofight   = item.mScripts[0] as UILabel;
        UILabel   fight     = item.mScripts[1] as UILabel;
        UILabel   cardName  = item.mScripts[2] as UILabel;
        UITexture head      = item.mScripts[3] as UITexture;
        UILabel   skillType = item.mScripts[4] as UILabel;

        nofight.gameObject.SetActive(info.configId < 4);
        fight.gameObject.SetActive(info.configId > 4);
        item.name = "fight" + item.miCurIndex;
        if (fight.gameObject.activeSelf)
        {
            TD_Card card = CardConfig.GetItem(info.configId);
            cardName.text = card.name;
            LoadSprite.LoaderCard(head, card.res);
            skillType.text = UtilTools.GetSKillTypeName((int)card.type);
        }
    }
示例#2
0
    /// <summary>刷新英雄信息</summary>
    /// <param name="item"></param>
    void UpdateHeroGrid(UIGridItem item)
    {
        if (item == null || item.oData == null || item.mScripts == null)
        {
            return;
        }

        //item.onClick = SetHeroItem;
        FightCardMsg info        = item.oData as FightCardMsg;
        UITexture    texture     = item.mScripts[0] as UITexture;
        UILabel      name        = item.mScripts[1] as UILabel;
        UILabel      leftNumLab  = item.mScripts[2] as UILabel;
        UILabel      rightNumLab = item.mScripts[3] as UILabel;

        TD_Card card = CardConfig.GetItem(info.cardId);

        if (card == null)
        {
            Debug.LogError("no this card cfg:" + info.cardId);
            return;
        }

        name.text = card.name;
        LoadSprite.LoaderCard(texture, card.res);
    }
示例#3
0
    public void UpdateDisplay()
    {
        if (null == SerData || SerData.pid == 0)
        {
            gameObject.SetActive(false);
            return;
        }

        gameObject.SetActive(true);

        TD_Card cdCfg = CardConfig.GetItem(SerData.cardId);

        nameLab.text   = cdCfg.name;
        curExpLab.text = SerData.exp.ToString();
        maxExLab.text  = "2";

        LoadSprite.LoaderCard(this.cardImg, cdCfg.res);
    }
示例#4
0
    /// <summary>
    /// 刷新卡组信息
    /// </summary>
    /// <param name="hero"></param>
    void UpdateCardTeamInfo(TD_Hero hero)
    {
        for (int i = 0; i < cardInfoList.cardList.Count; ++i)
        {
            TD_Card card = CardConfig.GetItem(cardInfoList.cardList[i].configId);
            card.isFight = cardInfoList.cardList[i].isFight;
            card.isHave  = 1;
            cardList.Add(card);
        }

        CardDataMsg info = null;

        for (int i = 0; i < hero.card_list.Split(';').Length; ++i)
        {
            int id = hero.card_list.Split(';')[i].ToInt();
            info = CheckCardIsHave(id);

            if (info != null)
            {
                continue;
            }
            TD_Card card = CardConfig.GetItem(id);
            card.isFight = 0;
            card.isHave  = 0;
            cardList.Add(card);
        }

        listObj = new List <object>();
        for (int i = 0; i < cardList.Count; ++i)
        {
            listObj.Add(cardList[i]);
        }

        panel.cardGrid.AddCustomDataList(listObj);

        List <object> list = new List <object>();

        for (int i = 0; i < cardInfoList.cardList.Count; ++i)
        {
            if (cardInfoList.cardList[i].isFight == 1)
            {
                list.Add(cardInfoList.cardList[i]);
            }
        }
        if (list.Count < 4)
        {
            for (int i = 0; i < 4; ++i)
            {
                if (i >= list.Count)
                {
                    CardDataMsg data = new CardDataMsg
                    {
                        configId = i,
                    };
                    list.Add((object)data);
                }
            }
        }
        panel.fightGrid.AddCustomDataList(list);
        list.Clear();

        if (panel.cardGrid.mDataSource.Count % 6 == 0)
        {
            dragIndex = panel.cardGrid.mDataSource.Count / 6;
            dragIndex--;
        }
        else
        {
            dragIndex = Mathf.FloorToInt(panel.cardGrid.mDataSource.Count * 1.0f / 6);
        }
    }
示例#5
0
    //拖拽Updata
    private void GameObjectDragAndDrog()
    {
        if (mDoMoveTimer > 0)
        {
            mDoMoveTimer -= Time.deltaTime;
            if (mDoMoveTimer < 0)
            {
                mDoMoveTimer = 0;
            }
        }

        if (Input.GetMouseButtonDown(0) && target == null)
        {
            RaycastHit hitInfo;
            target = ReturnGameObjectDrag(out hitInfo);
            if (target != null)
            {
                mMouseDownTargetPos = target.transform.position;
                isMouseDrag         = true;

                screenPosition = EventCamera.WorldToScreenPoint(target.transform.position);
                offset         = target.transform.position - EventCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z));

                //Vector3 pt = target.transform.position.Clone();
                //pt.y += 1.4f;
                //Vector3 screenPt = PVPManager.Instance.AvatarCamera.WorldToScreenPoint(pt);
                //Vector3 worldPt = PVPManager.Instance.FightCamera.ScreenToWorldPoint(screenPt);
                Vector3 worldPt = PVPManager.Instance.FightCamera.ScreenToWorldPoint(Input.mousePosition);
                worldPt.z = target.transform.position.z;
                PVPManager.SetArrowOrgPoint(worldPt);
            }
        }

        if (Input.GetMouseButtonUp(0))
        {
            PVPManager.HideArrow();

            RaycastHit hitInfo;

            if (UICardDrag.DragObject != null)
            {
                PureMVC.Patterns.Facade.Instance.SendNotification(NotificationID.Fight_ShowExpPan, false);

                GameObject          totarget = ReturnGameObjectDrag(out hitInfo);
                FightPanel_CardItem cdItm    = UICardDrag.DragObject.GetComponent <FightPanel_CardItem>();

                TD_Card cdCfg      = null;
                bool    haveTarget = false;

                if (cdItm.SerData != null)
                {
                    cdCfg = CardConfig.GetItem(cdItm.SerData.cardId);
                    FightCommonUtil.CheckCardSkillHaveTarget(cdCfg, cdItm.SerData.exp);
                }

                Vector3 pos = Main.CameraUI.ScreenToWorldPoint(Input.mousePosition);
                if (
                    (PVPManager.IsMyTurn || Define.TestMsg) &&
                    pos.y > -0.25f &&
                    !haveTarget)
                {
                    UICardDrag.DragObject = null;
                    FightProxy.Instance.SendUseCard(cdItm.SerData.index, NetProtocal.UseType.CardType, 0);
                }
                else if (null != totarget)
                {
                    CardRole cdRole = PVPManager.Instance.GetCardRoleByTransform(totarget.transform);
                    CardRole mdRole = PVPManager.Instance.GetCardRoleByTransform(target.transform);

                    if (PVPManager.IsMyTurn || Define.TestMsg)
                    {
                        if (null != cdItm.SerData && cdItm.SerData.pid != 0)
                        {
                            if (haveTarget)
                            {
                                FightProxy.Instance.SendUseCard(cdItm.SerData.index, NetProtocal.UseType.MoveType, cdRole.SerData.pos);
                            }
                        }
                        else
                        {
                            Debug.Log("Card_To_Hero No Server Data!!!");
                        }
                    }
                    else
                    {
                    }


                    UICardDrag.DragObject = null;
                }
            }
            else if (Input.GetMouseButtonUp(0) && null != target && mDoMoveTimer == 0)
            {
                GameObject oldtarget = target;
                isMouseDrag  = false;
                mDoMoveTimer = 0.5f;

                GameObject totarget = ReturnGameObjectDrag(out hitInfo);
                CardRole   oldCd    = PVPManager.Instance.GetCardRoleByTransform(oldtarget.transform);

                canDrag = false;
                if (null != totarget && oldtarget != totarget)
                {
                    CardRole toCd = PVPManager.Instance.GetCardRoleByTransform(totarget.transform);

                    if (Define.VSTest)
                    {
                        PVPManager.Instance.ChangeSlotPostion(oldCd, toCd);

                        oldtarget.transform.DOMove(toCd.transform.position, 1f);

                        totarget.transform.DOMove(oldCd.transform.position, 1f).OnComplete(delegate()
                        {
                            canDrag = true;
                        });
                    }
                    else
                    {
                        int moveAdd = toCd.SerData.pos - oldCd.SerData.pos;
                        if (Mathf.Abs(moveAdd) == 1)
                        {
                            FightProxy.Instance.SendMove(oldCd.SerData.index, moveAdd);
                        }
                    }
                }
                else
                {
                    oldtarget.transform.DOMove(oldCd.transform.position, 1f).OnComplete(delegate()
                    {
                        canDrag = true;
                    });
                }
            }

            target = null;
        }

        if (isMouseDrag && target != null)
        {
            Vector3 currentScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);
            Vector3 currentScreenPt    = EventCamera.ScreenToWorldPoint(currentScreenSpace);
            Vector3 currentPosition    = currentScreenPt + offset;

            Vector3 oldPosition = target.transform.localPosition;
            if (!AllowXMove)
            {
                currentPosition.x = oldPosition.x;
            }

            if (!AllowYMove)
            {
                currentPosition.y = oldPosition.y;
            }

            if (!AllowZMove)
            {
                currentPosition.z = oldPosition.z;
            }

            //target.transform.localPosition = currentPosition;
        }
    }