/// <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); } }
/// <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); }
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); }
/// <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); } }
//拖拽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; } }