public Transform GetGroupUI() { if (Load()) { Transform tran = _spawnPool.Spawn("GroupCard"); _prefabs.Add(tran); UIGroupCardsView rview = tran.gameObject.GetComponent <UIGroupCardsView> () ?? tran.gameObject.AddComponent <UIGroupCardsView>(); for (int i = 0; i < GameMessage.HANDLE_MJ_NUM; i++) { string cname = "img_bg" + (i + 1); Transform temp = tran.Find(cname); temp.gameObject.SetActive(false); rview._cardViews[i] = temp.GetComponent <UICardView> () ?? temp.gameObject.AddComponent <UICardView> (); UICardView cview = rview._cardViews [i]; cview._imgBg = temp.GetComponent <Image> (); cview._imgMj = temp.Find("img_mj").GetComponent <Image> (); cview._imgbsBG = temp.Find("img_bsBG").GetComponent <Image> (); cview._textX = temp.Find("Text_x").GetComponent <Text> (); cview._textNum = temp.Find("Text_num").GetComponent <Text> (); if (i == 1) { Transform gangTran = cview.transform.Find("img_gang"); if (gangTran) { gangTran.gameObject.SetActive(false); } } } return(tran); } return(null); }
public Transform GetHandGroupUI(Transform parentT, List <byte> cards) { Transform tran = GetGroupUI(); if (null == tran) { return(null); } //cards.Sort(delegate(Student a, Student b) { return a.Age.CompareTo(b.Age); }); cards.Sort(); tran.parent = parentT; tran.gameObject.SetActive(true); UIGroupCardsView rview = tran.gameObject.GetComponent <UIGroupCardsView> () ?? tran.gameObject.AddComponent <UIGroupCardsView>(); HorizontalLayoutGroup layerGroup = tran.gameObject.GetComponent <HorizontalLayoutGroup> (); //layerGroup.spacing = -3; for (int i = 0; i < cards.Count; i++) { UICardView cview = rview._cardViews [i]; TileDef def = TileDef.Create(cards[i]); cview._imgMj.sprite = UIOperation.Instance.GetMJSprite(def); cview.gameObject.SetActive(true); cview._imgbsBG.gameObject.SetActive(false); cview._textX.gameObject.SetActive(false); cview._textNum.gameObject.SetActive(false); } return(tran); }
public void Update() { if (transform.childCount != numChildren) { List <PlayerCardSortable> cardsToSort = new List <PlayerCardSortable>(); for (var i = 0; i < transform.childCount; ++i) { UICardView cardView = transform.GetChild(i).GetComponent <UICardView>(); if (cardView) { PlayerCard card = cardView.GetCard() as PlayerCard; if (card) { cardsToSort.Add(new PlayerCardSortable(transform.GetChild(i).gameObject, card)); } } } cardsToSort.Sort(); for (var i = 0; i < cardsToSort.Count; ++i) { cardsToSort[i].g.transform.SetSiblingIndex(i); } numChildren = transform.childCount; } }
public Transform GetHuGroupUI(Transform parentT, List <GameMessage.HuCards> huCards) { Transform tran = GetGroupUI(); if (null == tran) { return(null); } tran.parent = parentT; tran.gameObject.SetActive(true); HorizontalLayoutGroup layerGroup = tran.gameObject.GetComponent <HorizontalLayoutGroup> (); //layerGroup.spacing = -1; UIGroupCardsView rview = tran.gameObject.GetComponent <UIGroupCardsView> () ?? tran.gameObject.AddComponent <UIGroupCardsView>(); for (int i = 0; i < huCards.Count; i++) { UICardView cview = rview._cardViews [i]; TileDef def = TileDef.Create(huCards[i].cCard); cview._imgMj.sprite = UIOperation.Instance.GetMJSprite(def); cview.gameObject.SetActive(true); cview._imgbsBG.gameObject.SetActive(true); cview._textX.gameObject.SetActive(true); cview._textNum.gameObject.SetActive(true); cview._textNum.text = huCards[i].cNum.ToString(); } return(tran); }
public Transform GetPengGroupUI(Transform parentT, byte card, byte specialType) { Transform tran = GetGroupUI(); if (null == tran) { return(null); } tran.parent = parentT; tran.gameObject.SetActive(true); HorizontalLayoutGroup layerGroup = tran.gameObject.GetComponent <HorizontalLayoutGroup> (); //layerGroup.spacing = -4; int cardNum = 0; switch (specialType) { case (byte)GameMessage.SPECIAL_TYPE.PONG: cardNum = 3; break; case (byte)GameMessage.SPECIAL_TYPE.KONG: cardNum = 4; break; case (byte)GameMessage.SPECIAL_TYPE.DARK_KONG: cardNum = 4; break; case (byte)GameMessage.SPECIAL_TYPE.SPECIAL_TYPE_PENGGANG: cardNum = 4; break; } UIGroupCardsView rview = tran.gameObject.GetComponent <UIGroupCardsView> () ?? tran.gameObject.AddComponent <UIGroupCardsView>(); for (int i = 0; i < cardNum; i++) { if (i == 3) { break; } UICardView cview = rview._cardViews [i]; TileDef def = TileDef.Create(card); cview._imgMj.sprite = UIOperation.Instance.GetMJSprite(def); cview.gameObject.SetActive(true); cview._imgbsBG.gameObject.SetActive(false); cview._textX.gameObject.SetActive(false); cview._textNum.gameObject.SetActive(false); if (cardNum == 4 && i == 1) { Transform gangTran = cview.transform.Find("img_gang"); if (gangTran) { gangTran.gameObject.SetActive(true); gangTran.Find("img_mj").GetComponent <Image> ().sprite = cview._imgMj.sprite; } } } return(tran); }
public CardSelection(int index, BaseCard card, UICardView uiCard) { UICard = uiCard; Card = card; Index = index; UICard.Select(); }
public void AddCardToDeck(IPlayerCard card) { if (card == null) { return; } string failureReason; if (!ValidateAddCard(card, out failureReason)) { if (errorMessage) { errorMessage.SetActive(true); StartCoroutine("HideErrorMessage"); } if (errorMessageText) { errorMessageText.text = failureReason; } Debug.Log($"DeckBuilding validation failure : {failureReason}"); return; } builtDeck.Add(card); UICardView uiCardView; if (uiPlayerDeckCards.TryGetValue(card.Name, out uiCardView)) { IList <IPlayerCard> cards = builtDeck.FindAll((obj) => { return(obj.Name == card.Name); }); uiCardView.SetNumberOwned(cards.Count); } else if (uiCardPoolCards.TryGetValue(card.Name, out uiCardView)) { GameObject g = Instantiate(uiCardView.gameObject); UICardView view = g.GetComponent <UICardView>(); view.Setup(card); view.OnClick += OnUICardViewClicked; uiPlayerDeckCards.Add(card.Name, view); g.transform.parent = uiPlayerDeck; } }
public void Show(string title, List <BaseCard> cards) { _titleText.text = title; Display(); if (cards.Count > 0) { _emptyContentCanvas.gameObject.SetActive(false); foreach (BaseCard card in cards) { UICardView cardView = Instantiate(_cardPrefab, _contentCanvas.transform).GetComponent <UICardView>(); cardView.Construct(card); } } else { _emptyContentCanvas.gameObject.SetActive(true); } }
private void CardSelected(UICardView card) { ICard cardClicked = card.GetCard(); selectedCards.Add(cardClicked); candidateCards.Remove((TCard)cardClicked); if (selectedCards.Count >= numCards || candidateCards.Count == 0) { // If the player has selected the required number of cards or has exhausted all // available candidate cards, we're done: return the list of selected cards. this.uiManager.CardClicked -= this.CardSelected; this.uiManager.HideCardPicker(); this.OnComplete(selectedCards); } else if (card != null) { // Otherwise, just remove the selected card from the displayed list and let the // player keep picking. UnityEngine.Object.Destroy(card.gameObject); } }
public void OnUICardViewClicked(object sender, EventArgs e) { GameObject uiCardView = sender as GameObject; if (uiCardView != null) { UICardView cardView = uiCardView.GetComponent <UICardView>(); if (cardView != null) { if (uiCardView.transform.parent == uiPlayerDeck) { this.RemoveCardFromDeck(cardView.GetCard() as IPlayerCard); } else if (uiCardView.transform.parent == uiCardPool) { PlayerCard prototype = cardView.GetCard() as PlayerCard; PlayerCard clone = Instantiate(prototype); this.AddCardToDeck(clone); } } } }
public void Start() { //Error checks if (uiPlayerDeck == null) { Debug.LogError("UIPLAYERDECK NOT SETUP IN DECK BUILD MANAGER"); } if (uiCardPool == null) { Debug.LogError("UICARDPOOL NOT SETUP IN DECK BUILD MANAGER"); } if (cardUIPrefab == null) { Debug.LogError("CARD UI PREFAB NOT SETUP IN DECK BUILD MANAGER"); } if (deckBuilderBackground == null) { Debug.LogError("DECK BUILDER BACKGROUND NOT SETUP IN DECK BUILD MANAGER"); } if (initInfo == null) { Debug.LogError("CHASE START INFO NOT SETUP IN DECK BUILD MANAGER"); } // --- if (errorMessage != null) { errorMessage.SetActive(false); } this.builtDeck = new List <IPlayerCard>(); uiPlayerDeckCards = new Dictionary <string, UICardView>(); uiCardPoolCards = new Dictionary <string, UICardView>(); for (var i = 0; i < cardPool.Count; ++i) { IPlayerCard card = cardPool[i]; GameObject uiCardObject = Instantiate(cardUIPrefab); UICardView uICardView = uiCardObject.GetComponent <UICardView>(); uICardView.Setup(cardPool[i]); uICardView.transform.parent = uiCardPool; uICardView.OnClick += OnUICardViewClicked; uiCardPoolCards.Add(uICardView.GetCard().Name, uICardView); } switch (initInfo.SelectedPlayerDriver) { case PlayerCardDriver.StuntDriver: ChangeDriverToStunt(); break; case PlayerCardDriver.Navigator: ChangeDriverToNavigator(); break; default: //Intended to catch the none case ChangeDriverToMechanic(); break; } if (initInfo.SelectedPlayerCards != null) { for (var i = 0; i < initInfo.SelectedPlayerCards.Length; ++i) { AddCardToDeck(initInfo.SelectedPlayerCards[i]); } } }