/// <summary> /// 加入卡片 /// </summary> /// <param name="id"></param> public void AddCard(string id, bool isMy) { Card_Hand prefeb = GameObject.Instantiate(cardPrefeb).GetComponent <Card_Hand>(); prefeb.transform.SetParent(this.transform); float val = cardList.Count > 7 ? cardSizeX / 2 * 8 : cardSizeX / 2 * (cardList.Count + 1); if (!isMy) { val = -val; } prefeb.rectTransform.anchoredPosition3D = new Vector3(val, 0, 0); prefeb.rectTransform.sizeDelta = new Vector2(cardSizeX, cardSizeY); prefeb.rectTransform.localScale = Vector3.one; prefeb.Init(this, isMy); if (Duel.GetInstance().IsNetWork) { if (isMy) { prefeb.SetTexture(id, true); } else { prefeb.SetOverTexture(id); } } else { prefeb.SetTexture(id, true); //prefeb.SetOverTexture(id); } cardList.Add(prefeb); SortCard(); }
/// <summary> /// 通过卡片的区域值来移除卡片 /// </summary> /// <param name="val"></param> public void RemoveCard(int val) { Card_Hand card = cardList[val]; cardList.RemoveAt(val); Destroy(card.gameObject); SortCard(); }
int GetCardRank(Card_Hand card) { for (int i = 0; i < cardList.Count; i++) { if (cardList[i] == card) { return(i); } } Debug.Log("error"); return(-1); }
/// <summary> /// 结束卡片选择状态 /// </summary> public void EndSelectCard() { isInSelect = false; foreach (var item in cardList) { if (item != null) { Card_Hand card = item.GetComponent <Card_Hand>(); card.EndSelectState(); } } }
/// <summary> /// 进入选择卡片状态 /// </summary> /// <param name="cardType"></param> /// <param name="num"></param> /// <param name="dele"></param> public void SelectFieldCard(List <int> list, bool isMySelect) { if (list.Count == 0) { return; } isInSelect = true; for (int i = 0; i < list.Count; i++) { Card_Hand cardHand = cardList[list[i]]; if (cardHand == null) { Debug.Log("error"); return; } cardHand.EnterSelectState(isMySelect); } }
public bool DisSelectCard(Card_Hand card) { return(selectCardMgr.DisSelectCard(ComVal.Area_Hand, GetCardRank(card), isMy)); }