Exemple #1
0
    public override void OnDrop(PointerEventData eventData)
    {
        MinorArcanaCard card = eventData.pointerDrag.GetComponent <MinorArcanaCard>();

        Debug.Log(card);
        base.OnDrop(eventData);
    }
Exemple #2
0
    public void DrawNewCard()
    {
        Deck            deck = GameObject.Find("Deck").GetComponent <Deck>();
        MinorArcanaCard card = deck.Draw();

        card.MoveCard(this.gameObject.transform);
        _hand.Add(card);
        card.ChangeEffect();
    }
Exemple #3
0
    public void Shuffle()
    {
        var newDeck = _deck.ToArray();

        // Knuth shuffle algorithm :: courtesy of Wikipedia :)
        for (int t = 0; t < newDeck.Length; t++)
        {
            MinorArcanaCard tmp = newDeck[t];
            int             r   = Random.Range(t, newDeck.Length);
            newDeck[t] = newDeck[r];
            newDeck[r] = tmp;
        }

        _deck = new Stack <MinorArcanaCard>(newDeck);
    }
Exemple #4
0
 void Start()
 {
     _deck = new Stack <MinorArcanaCard>();
     // Use this for initialization
     //by card
     //by suit
     foreach (var suit in MinorArcanaCard.Suits)
     {
         foreach (var value in MinorArcanaCard.Values)
         {
             MinorArcanaCard minorCard = (Instantiate(Resources.Load("Prefabs/MinorArcanaCard")) as GameObject).GetComponent <MinorArcanaCard>();
             minorCard.SetCard(suit, value, this.gameObject.transform);
             _deck.Push(minorCard);
         }
     }
     Shuffle();
 }
Exemple #5
0
    //private IDictionary<string, CardEffect> _cardDictionary = new Dictionary<string, CardEffect>();

    public CardEffect NewCardEffect(MajorArcanaCard majorCard, MinorArcanaCard minorCard)
    {
        //look for key
        var key = _buildKey(majorCard, minorCard);

        Debug.Log(key);
        CardEffect effect;

        if (_cardDictionary.ContainsKey(key))
        {
            _cardDictionary.TryGetValue(key, out effect);
            return(effect);
        }
        else
        {
            // add to dictionary, body and wheel of fortune
            //based on suit and value
            string[] aspectMajor = majorCard.AspectCardName.Split(':');
            if (aspectMajor[0] == "Divine")
            {
                effect = new DivineEffect(0);
            }
            else if (aspectMajor[0] == "Mind")
            {
                effect = new MindEffect(0);
            }
            else if (aspectMajor[0] == "Body")
            {
                effect = new BodyEffect(0, 0);
            }
            else
            {
                effect = new BodyEffect(-1, -1);
            }

            _cardDictionary.Add(key, effect);
            return(effect);
        }
    }
Exemple #6
0
 private string _buildKey(MajorArcanaCard major, MinorArcanaCard minorArcanaCard)
 {
     //get the selected major arcana and aspect
     return(major.AspectCardName + ":" + minorArcanaCard.CardKey);
 }
Exemple #7
0
    public virtual void OnDrop(PointerEventData eventData)
    {
        MinorArcanaCard c = eventData.pointerDrag.GetComponent <MinorArcanaCard>();

        c.Play();
    }
 public void Add(MinorArcanaCard minorArcanaCard)
 {
     _graveyard.Add(minorArcanaCard);
 }