Exemplo n.º 1
0
    public void Execute()
    {
        var times = Math.Max(1, multiplicity);

        for (var i = 0; i < times; i++)
        {
            if (UnityEngine.Random.value > successRate)
            {
                continue;
            }

            if (!LaneManager.instance.enemySlots.anyOpenSlots)
            {
                return;
            }

            var cardModel = prototype.Instantiate();
            var card      = GameObject.Instantiate <Card>(Enemy.instance.cardPrefab);

            card.transform.position = Enemy.instance.playOrigin.transform.position;
            card.SetOwner(Owner.Enemy);
            card.SetCardModel(cardModel);

            var desiredSlot = GetDesiredSlot();
            card.Play(desiredSlot);
        }
    }
Exemplo n.º 2
0
    public void Init()
    {
        if (startingCards == null)
        {
            startingCards = new List <CardPrototype>();
        }

        for (var i = 0; i < startingCards.Count; i++)
        {
            CardPrototype card = startingCards[i];
            DeckController.instance.PutOnTop(card.Instantiate());
        }

        DeckController.instance.Shuffle();
    }
Exemplo n.º 3
0
    public void PlayCard()
    {
        if (!LaneManager.instance.enemySlots.anyOpenSlots)
        {
            return;
        }

        var cardModel = cardPrototype.Instantiate();
        var card      = GameObject.Instantiate <Card>(cardPrefab);

        card.transform.position = playOrigin.transform.position;
        card.SetOwner(Owner.Enemy);
        card.SetCardModel(cardModel);

        card.Play();
    }