private CombatCards SelectStrongestCombatCardValue(GameObject cards) { CombatCards strongestCard = null; foreach (var card in GetAvailableCards(cards)) { if (strongestCard == null || card.combatValue > strongestCard.combatValue) { strongestCard = card; } } return(strongestCard); }
private List <CombatCards> GetAvailableCards(GameObject cards) { List <CombatCards> availableCards = new List <CombatCards>(); for (int i = 0; i < cards.transform.childCount; i++) { CombatCards card = cards.transform.GetChild(i).gameObject.GetComponent <CombatCards>(); bool cardAvailable = gManager.activePlayer.combatCardsAvailable[i]; if (cardAvailable && !card.doublon) { availableCards.Add(card); } } Debug.Assert(availableCards.Count > 0, "There should be at least 1 available card."); return(availableCards); }
private GameObject instanciateOneCombatCard(int cardCombatValue) { Debug.Assert(waitingForPlayerCard); ChooseCombatCardScreen combatCardsLayout = combatDisplay.chooseCombatCardLayout; for (int i = 0; i < combatCardsLayout.combatCardsPrefabs.Length; i++) { CombatCards prefab = combatCardsLayout.combatCardsPrefabs[i].GetComponent <CombatCards>(); if (gManager.activePlayer.combatCardsAvailable[i] && prefab.combatValue == cardCombatValue && !prefab.doublon) { return(instantiateCardFromPrefab(createCardsHolder(), combatCardsLayout.combatCardsPrefabs[i], gManager.activePlayer.combatCardsAvailable[i]).gameObject); } } Debug.LogError("instanciateOneCombatCard: Card not available"); return(null); }
public void combatCardChosen(GameObject card) { Debug.LogWarning("combatCardChosen"); Debug.Assert(waitingForPlayerCard); CombatCards cardData = card.GetComponent <CombatCards>(); if (!IsChoosingCardOnLoad()) { gManager.onlineGameInterface.RecordCard(ActionType.COMBAT_CARD, cardData.combatValue); revealCard(cardData.indexCard, cardData.combatValue); } if (cardPlayedCount == 1) { gManager.switchPlayer(); } else { status = Status.CARDS_PLAYED; combatDisplay.chooseCombatCardLayout.fadeOutScreen(); } }
private CombatCards instantiateCardFromPrefab(GameObject parent, GameObject cardPrefab, bool cardAvailable) { GameObject cardObject = (GameObject)Instantiate(cardPrefab, cardPrefab.transform.position, Quaternion.identity); cardObject.transform.SetParent(parent.transform); cardObject.transform.localScale = new Vector3(1, 1, 1); CombatCards card = cardObject.GetComponent <CombatCards>(); if (cardAvailable || !card.doublon) { cardObject.SetActive(true); if (!cardAvailable || card.doublon) { card.GetComponent <Button>().interactable = false; } if (!cardAvailable) { card.image.sprite = card.usedCardSprite; } card.indexCard = gManager.activePlayer.index; } return(card); }