void Update()
    {
        if (isFlipping)
        {
            FlipCard();
            timeFlipping += Time.deltaTime;
        }

        if (timeFlipping >= 0.5f)
        {
            isFlipping   = false;
            timeFlipping = 0;
            numCall      = 0;
        }
        else if (timeFlipping >= 0.2875f && timeFlipping < 0.35f && isFlipping && numCall == 0)
        {
            numCall++;
            if (GetCurrentCardState() == CardStates.Back)
            {
                GetComponent <Renderer>().material.mainTexture = flippedTexture;

                currentCardState = CardStates.Flipped;

                tag = "flipped card";
            }
            else
            {
                GetComponent <Renderer>().material.mainTexture = backTexture;

                currentCardState = CardStates.Back;
                tag = "card";
            }
        }
    }
Beispiel #2
0
 // I wanted to cast these to an int Array (for consistency sake with the RPC) but..
 // ..that does not seem to track well and just causes index errors)
 private void UpdateCard(int id, CardStates state, IEnumerable <int> attackTargetIds, IEnumerable <int> skillTargetIds)
 {
     // Don't ever queue actions like this up again..
     // ..I was updating 40 cards at a time which made our command unnecessairly huge
     Cards[id].Update(state,
                      skillTargetIds.Select(targetId => Cards[targetId]).ToList(),
                      attackTargetIds.Select(targetId => Cards[targetId]).ToList());
 }
Beispiel #3
0
    private void Start()
    {
        image       = GetComponent <Image>();
        gameManager = FindObjectOfType <GameManager>();

        cardBack     = image.sprite;
        currentState = CardStates.Unchecked;
    }
Beispiel #4
0
    public Card AddCard(string Type, int PlayerID, CardStates State, int? Position)
    {
        Card Card = new Card(NewCardUID, Type, PlayerID, State, Position);

        Cards.Add(Card);

        NewCardUID++;

        return Card;
    }
Beispiel #5
0
    public void Reset()
    {
        if (currentState == CardStates.Found)
        {
            return;
        }

        image.sprite = cardBack;
        currentState = CardStates.Unchecked;
        glowFX.SetActive(false);
    }
Beispiel #6
0
 public void Update()
 {
     CardStates = Controller.State switch
     {
         States.IdleTurnPlayer when CanBeDeployed() => CardStates.Deploy,
         States.IdleTurnPlayer when CanBeSetFaceDown() => CardStates.SetFaceDown,
         States.IdleTurnPlayer when CanAttackUnit() => CardStates.AttackUnit,
         States.IdleTurnPlayer when CanAttackPlayer() => CardStates.AttackPlayer,
         States.IdleTurnPlayer when CanBeActivated() => CardStates.Activate,
         States.Active when CanBeActivated() => CardStates.Activate,
         _ => CardStates.None
     };
 }
    public void UpdateCard(bool showFront, string Name, string ImagePath, string CardbackPath, string Mana, string Attack, bool showAttack, string Health, CardStates State, string classType)
    {
        Hand.gameObject.SetActive(State == CardStates.InDeck || State == CardStates.InHand);
        Hero.gameObject.SetActive(State == CardStates.Hero);
        Minion.gameObject.SetActive(State == CardStates.OnBoard);

        ClassModel model = Db.Classes.Find(c => c.Type.Equals(classType));
        string cardBack = model.Cardback;
        string cardFront = model.Cardfront;
        //string cardBack = (string)SQL.Query("SELECT Cardback FROM Classes WHERE Type='" + classType + "'").Rows[0][0];
        //string cardFront = (string)SQL.Query("SELECT Cardfront FROM Classes WHERE Type='" + classType + "'").Rows[0][0];
        Hand.UpdateCard(showFront, Name, "", Mana.ToString(), Attack.ToString(), Health, ImagePath, cardBack, cardFront);
        Hero.UpdateCard(Attack.ToString(), showAttack, Health, true, ImagePath);
        Minion.UpdateCard(Attack.ToString(), Health, ImagePath);
    }
Beispiel #8
0
    public void OnClick()
    {
        if (gameManager.waitingForReset)
        {
            return;
        }
        if (currentState == CardStates.Checked || currentState == CardStates.Found)
        {
            return;
        }

        image.sprite = cardSprite;
        currentState = CardStates.Checked;
        gameManager.AddToGuess(this);
        glowFX.SetActive(true);
    }
    public void UpdateCardTexture(bool alwaysShow, BoardState board, Card card, CardStates State, string classType)
    {
        StringBuilder ImagePath = new StringBuilder(@"Textures/Cards/");
        ImagePath.Append(card.GetCardGFX());
        StringBuilder CardbackPath = new StringBuilder(@"Textures/");
        if (card.PlayerID == 0)
            CardbackPath.Append("Lannister cardback");
        else
            CardbackPath.Append("Stark cardback");

        int attack = board.GetCardAttack(card);
        string manaString = "<b>" + board.GetCardManaCost(card).ToString() + "</b>";
        string attackString = "<b>" + attack.ToString() + "</b>";
        string healthString = "<b>" + board.GetCardHealth(card).ToString() + "</b>";
        if (board.GetCardMaxHealth(card) > board.GetCardHealth(card))
            healthString = "<color=MAROON>" + healthString + "</color>";
           UpdateCard(alwaysShow || State == CardStates.InHand && card.PlayerID == 0,@"<b>" + card.GetName() + @"</b>", ImagePath.ToString(), CardbackPath.ToString(), manaString, attackString, attack > 0, healthString, State, classType);
    }
Beispiel #10
0
    public Card(int ID, string Type, int PlayerID, CardStates State, int? Position)
    {
        this.ID = ID;
        this.Type = Type;
        this.PlayerID = PlayerID;
        this.State = State;
        this.Position = Position;

        StringBuilder QueryText = new StringBuilder(@"SELECT * FROM Cards WHERE TYPE='");
        QueryText.Append(Type);
        QueryText.Append(@"'");
        CardData = Db.FindCard(this.Type);

        if (CardData == null)
            throw new Exception(String.Format("Card {0} not found", this.Type));

        this.Health = GetBaseMaxHealth();
    }
Beispiel #11
0
 public void FlipCard()
 {
     if (!isActive())
     {
         return;
     }
     if (_animator == null)
     {
         return;
     }
     if (state == CardStates.FACE_UP)
     {
         state = CardStates.FACE_DOWN;
     }
     else
     {
         state = CardStates.FACE_UP;
     }
     UpdateAnimation();
 }
Beispiel #12
0
    /// <summary>
    /// Utility function used to load the state of the card.
    /// <br>Indexes: 0 = Unchecked; 1 = Checked; 2 = Found.</br>
    /// </summary>
    /// <param name="state"></param>
    public void SetState(int state)
    {
        switch (state)
        {
        case 0:
            currentState = CardStates.Unchecked;
            break;

        case 1:
            currentState = CardStates.Checked;
            image.sprite = cardSprite;
            gameManager.AddToGuess(this);
            glowFX.SetActive(true);
            break;

        case 2:
            currentState = CardStates.Found;
            image.sprite = cardSprite;
            gameManager.AddToCorrectCardZone(cardSprite);
            break;
        }
    }
 public Card DealCard(Deck deck, CardStates state)
 {
     return(deck.Cards.Pop());
 }
    void Start()
    {
        currentCardState = CardStates.Back;

        gameObject.GetComponent <Renderer>().material.mainTexture = backTexture;
    }
 public void SetCardState(CardStates cardState)
 {
     currentCardState = cardState;
 }
Beispiel #16
0
 private CardStates SetState(CardStates newState)
 {
     BaseState = newState;
     return(newState);
 }
Beispiel #17
0
 public void Find()
 {
     currentState = CardStates.Found;
     glowFX.SetActive(false);
 }
Beispiel #18
0
 ///
 private void Restart()
 {
     state = CardStates.CREATE;
     UpdateAnimation();
 }
Beispiel #19
0
    public void UpdateCard(string Name, string ImagePath, string CardbackPath, int Mana, int Attack, int Health, CardStates State)
    {
        if (State == CardStates.InDeck || State == CardStates.Dead)
        {
            //MinionObject.SetActive(false);

            HeroObject.SetActive(false);

            HandObject.SetActive(true);
        }
        if (State == CardStates.InDeck || State == CardStates.InHand)
        {
            //MinionObject.SetActive(false);

            HeroObject.SetActive(false);

            if (oldImagePath != ImagePath && HandImage != null)
            {
                HandImage.material.SetTexture(0, Global.LoadTexture(ImagePath));
                //HandImage.texture = Global.LoadTexture(ImagePath);
                ImagePath = oldImagePath;
            }
            if (oldCardbackPath != CardbackPath)
            {
                HandCardback.material.SetTexture(0, Global.LoadTexture(CardbackPath));
                CardbackPath = oldCardbackPath;
            }
            /*HandName.text = Name;
            HandMana.text = Mana.ToString();
            HandAttack.text = Attack.ToString();
            HandHealth.text = Health.ToString();*/

            HandObject.SetActive(true);
        }
        if (State == CardStates.OnBoard)
        {
            HandObject.SetActive(false);

            HeroObject.SetActive(false);

            /*if (oldImagePath != ImagePath)
                MinionImage.material.SetTexture(0, Global.LoadTexture(ImagePath));
            MinionAttack.text = Attack.ToString();
            MinionHealth.text = Health.ToString();

            MinionObject.SetActive(true);
        */}
        if (State == CardStates.Hero)
        {
            HandObject.SetActive(false);

            //MinionObject.SetActive(false);

            if (oldImagePath != ImagePath && HeroImage != null)
                HeroImage.material.SetTexture(0, Global.LoadTexture(ImagePath));
                //HeroImage.texture = Global.LoadTexture(ImagePath);
            //HeroAttack.text = Attack.ToString();
            //HeroHealth.text = Health.ToString();

            HeroObject.SetActive(true);
        }
    }
 public Card(Suites suite, Ranks rank, CardStates state)
 {
     this.suite = suite;
     this.rank  = rank;
     this.state = state;
 }
Beispiel #21
0
 public void Update(CardStates state, IList <Card> targets, IList <Card> attackTargets)
 {
     CardState.State = state;
     ValidTargets.Update(targets);
     ValidAttackTargets.Update(attackTargets);
 }
Beispiel #22
0
 public void DestroyCard()
 {
     state = CardStates.DESTOYED;
     UpdateAnimation();
 }