示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
    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);
    }
示例#4
0
    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();
        }
    }
示例#5
0
    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);
    }