//新たなカードを加える public bool CardAdd(Card c) { if (cards.Count < MainSystem.HAND_MAX) { } else { return(false); } cards.Add(c); var hage = Instantiate(cardObj, transform.position, transform.rotation, transform); Utility.SetChildrenTag(hage.transform, TAG); Utility.SetChildrenTag(hage.GetComponent <CardObj>().cc.transform, Utility.UNTAG); //CardObjのコンポーネントを取得する CardObj gcc = hage.GetComponent <CardObj>(); //取得したものを用いてカード情報を書き込む gcc.CardSet(c); gcc.isHand = true; gcc.isStateChanged = true; gcc.ObjReroad(true); hage.transform.parent = transform; cardsObj.Add(hage); gcc.LayerSet(cards.Count - 1, TAG); CardAlign(); return(true); }
//動かした後に位置を再計算する void CardAlign() { for (int i = 0; i < cards.Count; ++i) { var v = new Vector3((i - (float)(cards.Count - 1) / 2) * cardBlank, 0, i * cardZ); cardsObj[i].transform.position = transform.position - v; CardObj c = cardsObj[i].GetComponent <CardObj>(); c.LayerSet(i, TAG); c.ObjReroad(false); } }