Exemple #1
0
    public bool TryToPlayCard(List <CardEffect> addCardsEffects, List <ISkillAim> aims, Action callback)
    {
        bool result = false;

        foreach (CardEffect addCardsEffect in addCardsEffects)
        {
            if (addCardsEffect.cardAim != CardEffect.CardAim.Cell || addCardsEffect.cellActionType != CardEffect.CellActionType.Deevolve)
            {
                continue;
            }
            foreach (ISkillAim aim in aims)
            {
                if (aim.GetType() == typeof(Block))
                {
                    List <CellState> previousStates = DefaultResourcesManager.PreviousStates((aim as Block).State);

                    if (previousStates.Count > 0)
                    {
                        CellState cs = previousStates[UnityEngine.Random.Range(0, previousStates.Count() - 1)];
                        NetworkCardGameManager.sInstance.ChangeState(aim as Block, cs);
                    }
                }
            }
            result = true;
        }
        return(result);
    }
Exemple #2
0
 public void GetCards(List <string> cards)
 {
     foreach (string card in cards)
     {
         GetCard(DefaultResourcesManager.GetCardById(card));
     }
 }
Exemple #3
0
    public List <Card> GetPlayerDrop(PhotonPlayer pp)
    {
        List <Card> cards = new List <Card>();

        foreach (PlayerVisual pv in FindObjectsOfType <PlayerVisual>())
        {
            if (pv.Player == pp)
            {
                foreach (string cardId in pv.Drop)
                {
                    cards.Add(DefaultResourcesManager.GetCardById(cardId));
                }
            }
        }
        return(cards);
    }
Exemple #4
0
    public void AddCard(string c)
    {
        DeckCardPanel dcp = cardPanels.FirstOrDefault(cardPanel => cardPanel.Card.name == c);

        if (dcp)
        {
            dcp.Add();
        }
        else
        {
            dcp = Lean.Pool.LeanPool.Spawn(CardPrefab).GetComponent <DeckCardPanel>();
            dcp.Init(DefaultResourcesManager.GetCardById(c));
            dcp.transform.SetParent(Dock);
            dcp.transform.localScale = Vector3.one;
            cardPanels.Add(dcp);
        }
    }
Exemple #5
0
    public void Init(DeckStruct deck)
    {
        foreach (LibraryCardPanel lcp in cardsPanels)
        {
            Lean.Pool.LeanPool.Despawn(lcp.gameObject);
        }
        cardsPanels.Clear();

        foreach (string card in LobbyPlayerIdentity.Instance.player.AllCards)
        {
            AddCard(DefaultResourcesManager.GetCardById(card));
        }

        foreach (string c in deck.Cards)
        {
            RemoveCard(c);
        }
    }
Exemple #6
0
    private void InitPlayerDefault()
    {
        player.PlayerName     = DefaultResourcesManager.GetRandomName();
        player.PlayerColor    = DefaultResourcesManager.GetRandomColor();
        player.PlayerAvatarId = DefaultResourcesManager.GetRandomAvatar();
        player.Decks          = new List <DeckStruct>();

        DeckStruct startingDeck = DefaultResourcesManager.StartingDeck;

        startingDeck = new DeckStruct(startingDeck.DeckName, startingDeck.Cards);
        player.Decks.Add(startingDeck);
        player.CurrentDeck = startingDeck;

        for (int i = 0; i < 3; i++)
        {
            foreach (Card c in DefaultResourcesManager.AllCards)
            {
                player.AllCards.Add(c.name);
            }
        }
    }
Exemple #7
0
    public Sprite[] GetWinCardsSprires()
    {
        Sprite[] winSprites = new Sprite[3] {
            null, null, null
        };
        int i = 0;

        foreach (string c in Cards)
        {
            Card card = DefaultResourcesManager.GetCardById(c);
            if (i == 3)
            {
                break;
            }

            if (card.WinCard)
            {
                winSprites [i] = card.cardSprite;
                i++;
            }
        }
        return(winSprites);
    }
Exemple #8
0
 public FirstSetupController(DefaultResourcesManager defaultResourcesManager, ILocalUserService localUserService)
 {
     _defaultResourcesManager = defaultResourcesManager;
     _localUserService        = localUserService;
 }
Exemple #9
0
 public void GetCard(string cardId)
 {
     visual.GetCard(DefaultResourcesManager.GetCardById(cardId));
 }
Exemple #10
0
    private IEnumerator MoveCardIn(CardAnimationAim fromAim, CardAnimationAim to, List <string> cards, Action <CardVisual> callback = null, bool dontWait = false, bool outDelay = true)
    {
        Queue <string>    movingCards    = new Queue <string>(cards);
        List <CardVisual> createdVisuals = new List <CardVisual>();

        if (fromAim == CardAnimationAim.Choose)
        {
            createdVisuals = new List <CardVisual>(CardsManager.Instance.ChooseManager.chosedCards);
            movingCards.Clear();
        }

        if (fromAim == CardAnimationAim.Hand)
        {
            foreach (string movingCard in movingCards)
            {
                foreach (CardVisual visual in CardsManager.Instance.HandCardsLayout.Cards)
                {
                    if (!createdVisuals.Contains(visual) && visual.CardAsset.name == movingCard)
                    {
                        createdVisuals.Add(visual);
                        break;
                    }
                }
            }

            movingCards.Clear();
        }


        while (movingCards.Count > 0)
        {
            Card       nextCard = DefaultResourcesManager.GetCardById(movingCards.Dequeue());
            GameObject newCard  = null;

            newCard = CardsManager.Instance.CreateCard(nextCard);
            switch (fromAim)
            {
            case CardAnimationAim.Drop:
                newCard.transform.SetParent(CardsManager.Instance.dropTransform);
                break;

            case CardAnimationAim.Pile:
                newCard.transform.SetParent(CardsManager.Instance.pileTransform);
                break;

            case CardAnimationAim.Top:
                newCard.transform.SetParent(CardsManager.Instance.topTransform);
                break;
            }
            newCard.transform.localScale    = Vector3.one;
            newCard.transform.localPosition = Vector3.one;
            newCard.transform.localRotation = Quaternion.identity;
            createdVisuals.Add(newCard.GetComponent <CardVisual> ());
        }


        for (int i = 0; i < createdVisuals.Count; i++)
        {
            createdVisuals[i].SetState(CardVisual.CardState.Visualising);
            yield return(new WaitForSeconds(0.2f));
        }

        float waitTime = 0;

        while (waitTime < 1 && !dontWait)
        {
            waitTime += Time.deltaTime;
            yield return(new WaitForSeconds(Time.deltaTime));
        }
        StartCoroutine(MoveCardOut(to, createdVisuals, callback, outDelay));
    }