示例#1
0
    public void OnBookSelected()
    {
        if (dbHelper.Key <= 0)
        {
            key.text = noKeyText;
            return;
        }
        openMessage.SetActive(false);
        menu.SetActive(false);
        dbHelper.Key--;
        dbHelper.Chest--;
        lastCard = null;

        var list        = new List <ScriptableCard>(dbHelper.cardList.cards);
        var playerCards = dbHelper.GetPlayerCards();

        list.RemoveAll(c => playerCards.Contains(c));


        if (list.Count <= 0)
        {
            dbHelper.Gold += 300;
            currency?.FireEvent(null);
        }
        else
        {
            var rnd  = Random.Range(0, list.Count);
            var card = list[rnd];

            dbHelper.AddCard(card.UUID, card.title);

            cardImage.sprite = card.art;

            lastCard = card;
        }


        bookSlot.SetActive(false);
        animator.SetBool("closed", false);

        if (openBookAudio != null)
        {
            audioSource.PlayOneShot(openBookAudio);
        }


        Rearm();
    }
示例#2
0
 public static void Execute(AddCardRequest request)
 {
     DbHelper.CommandSkip(Guid.Parse(request.Card.TurnamentId), Guid.Parse(request.Card.CommandId), Guid.Parse(request.Card.PlayerId), Guid.Parse(request.Card.GameId), request.Card.Type);
     DbHelper.AddCard(Guid.Parse(request.Card.TurnamentId), Guid.Parse(request.Card.CommandId), Guid.Parse(request.Card.PlayerId), Guid.Parse(request.Card.GameId), request.Card.Type);
 }
示例#3
0
    private void GiveCards()
    {
        //var save = SaveManager.CreateNewSave();
        //save.
        var slot    = 0;
        var list    = new List <ScriptableCard>();
        var exclude = new List <ScriptableCard>();
        var cards   = new List <ScriptableCard>();

        for (int i = 0; i < cardList.cards.Length; i++)
        {
            list.Add(cardList.cards[i]);
        }

        int c = 4;


        while (c > 0)
        {
            var idx  = Random.Range(0, list.Count);
            var card = list[idx];


            if (card.element == dbHelper.GetActiveMage().element || card.rank <= 2)
            {
                dbHelper.AddCard(card.UUID, card.title);
                dbHelper.AddCardInSlot(card.UUID, slot++);
                cards.Add(card);
                c--;
            }
            else
            {
                exclude.Add(card);
            }

            list.RemoveAt(idx);
        }

        list.AddRange(exclude);
        exclude.Clear();
        c = 4;

        while (c > 0)
        {
            var idx  = Random.Range(0, list.Count);
            var card = list[idx];


            if (card.element == dbHelper.GetActiveMage().element)
            {
                dbHelper.AddCard(card.UUID, card.title);
                dbHelper.AddCardInSlot(card.UUID, slot++);
                cards.Add(card);
                c--;
            }
            else
            {
                exclude.Add(card);
            }

            list.RemoveAt(idx);
        }
        list.AddRange(exclude);

        c = 4;

        while (c > 0)
        {
            var idx  = Random.Range(0, list.Count);
            var card = list[idx];

            dbHelper.AddCard(card.UUID, card.title);

            cards.Add(card);
            c--;

            list.RemoveAt(idx);
        }
    }