Esempio n. 1
0
    public void MoveCard(Vector3 newPosition, bool isEndFlipped, float playTime, bool isSloppy)
    {
        float _zRotEndValue = 0;

        if (isSloppy)
        {
            RandomTransform _addSlop = GetRandomTransform(40.0f, 0.4f);
            newPosition   = newPosition + _addSlop.position;
            _zRotEndValue = _addSlop.rotation.z;
        }

        Animation _anim = GetComponent <Animation>();

        AnimationCurve _xCurve = AnimationCurve.Linear(0, transform.localPosition.x,     //start time, startValue,
                                                       playTime, newPosition.x);         //endTime, endValue

        AnimationCurve _yCurve = AnimationCurve.Linear(0, transform.localPosition.y,
                                                       playTime, newPosition.y);

        AnimationCurve _zCurve = AnimationCurve.Linear(0, newPosition.z,
                                                       playTime, newPosition.z);

        AnimationCurve _xRot = AnimationCurve.Linear(0, transform.localRotation.x,
                                                     playTime, 0);

        AnimationCurve _yRot;

        if (IsFlipped == isEndFlipped)
        {
            _yRot = AnimationCurve.Linear(0, transform.localRotation.y,
                                          playTime, 0);
        }
        else
        {
            _yRot = AnimationCurve.Linear(0, 3.14f,
                                          playTime, 0.0f);
            Invoke("Flip", playTime / 2);
        }

        AnimationCurve _zRot = AnimationCurve.Linear(0, transform.localRotation.z,
                                                     playTime, _zRotEndValue);

        AnimationCurve _wRot = AnimationCurve.Linear(0, transform.localRotation.w,
                                                     playTime, transform.localRotation.w);

        AnimationClip _clip = new AnimationClip();

        _clip.SetCurve("", typeof(Transform), "localPosition.x", _xCurve);
        _clip.SetCurve("", typeof(Transform), "localPosition.y", _yCurve);
        _clip.SetCurve("", typeof(Transform), "localPosition.z", _zCurve);
        _clip.SetCurve("", typeof(Transform), "localRotation.x", _xRot);
        _clip.SetCurve("", typeof(Transform), "localRotation.y", _yRot);
        _clip.SetCurve("", typeof(Transform), "localRotation.z", _zRot);
        _clip.SetCurve("", typeof(Transform), "localRotation.w", _wRot);

        _anim.AddClip(_clip, "moveCard" + Name.ToString());
        _anim.Play("moveCard" + Name.ToString());
    }
Esempio n. 2
0
 public void InitCard(Dealer parent, int value, Suits suit, CardNames name)
 {
     Parent           = parent;
     Value            = value;
     Suit             = suit;
     Name             = name;
     FrontImage       = Resources.Load(Name.ToString(), typeof(Sprite)) as Sprite;
     MySpriteRenderer = gameObject.GetComponent <SpriteRenderer> ();
     MyGameLogic      = GameObject.Find("GameLogic").GetComponent <GameLogic> ();
 }
Esempio n. 3
0
 public Card()
 {
     cardName        = (CardNames)Random.Range(0, 6);
     cardDescription = (Description)Random.Range(0, 2);
     title           = cardName.ToString();
     description     = cardDescription.ToString();
     hp     = GetValue();
     attack = GetValue();
     mana   = GetValue();
 }
Esempio n. 4
0
        public Card BuyCard(CardNames name)
        {
            var reserveDeck = this._reserveDecks.First(x => x.CardInfo.CardName == name);

            if (reserveDeck.CardsLeft <= 0)
            {
                throw new InvalidOperationException($"Not able to get card {name.ToString()} from deck. Deck is empty.");
            }

            reserveDeck.CardsLeft--;
            return(reserveDeck.CardInfo);
        }
Esempio n. 5
0
    private Card CreateNewCard(CardNames name)
    {
        string _stringName = name.ToString();
        Suits  _suit;
        int    _value;

        switch (_stringName [0])
        {
        case 'c':
            _suit = Suits.Clubs;
            break;

        case 'd':
            _suit = Suits.Diamonds;
            break;

        case 'h':
            _suit = Suits.Hearts;
            break;

        case 's':
            _suit = Suits.Spades;
            break;

        default:
            _suit = Suits.None;
            break;
        }
        _value = int.Parse(_stringName.Substring(1));

        GameObject _cardGameObject = Instantiate(CardPrefab, transform.position, Quaternion.identity) as GameObject;

        _cardGameObject.transform.SetParent(transform);

        Card _card = _cardGameObject.GetComponent <Card>();

        _card.InitCard(this, _value, _suit, name);
        return(_card);
    }
Esempio n. 6
0
        public Card(CardNames name)
        {
            Name = name.ToString();

            Value = Math.Min((int)name, 10);
        }