Example #1
0
    public void ShowCraftingScreen(CardAsset cardToShow)
    {
        currentCard = cardToShow;

        // select type of card to show on this screen - creature or spell
        GameObject cardObject;

        if (currentCard.TypeOfCard == TypesOfCards.Creature)
        {
            cardObject = CreatureCard;
            CreatureCard.SetActive(true);
            SpellCard.SetActive(false);
        }
        else
        {
            cardObject = SpellCard;
            CreatureCard.SetActive(false);
            SpellCard.SetActive(true);
        }
        // change the look of the card to the card that we selected
        OneCardManager manager = cardObject.GetComponent <OneCardManager>();

        manager.cardAsset = cardToShow;
        manager.ReadCardFromAsset();

        // change the text on buttons
        CraftText.text      = "Craft this card for " + TradingCosts[cardToShow.Rarity].CraftCost.ToString() + " dust";
        DisenchantText.text = "Disenchant to get " + TradingCosts[cardToShow.Rarity].DisenchantOutcome.ToString() + " dust";

        ShopManager.Instance.DustHUD.SetActive(true);
        // make sure that correct amount of cards is shown
        UpdateQuantityOfCurrentCard();
        // show the content of this screen
        Content.SetActive(true);
    }
    public void OnPointerDown(PointerEventData eventData)
    {
        // OneCardManager c=this.GetComponent<OneCardManager>();
        Debug.Log("ResolveCardByDiceRoll ");
        OneCardManager c = this.GetComponent <OneCardManager>();

        if (c.cardAsset.resolved == ResolvedType.resolved_lost |
            c.cardAsset.resolved == ResolvedType.resolved_win)
        {
            return;
        }

        if (c.cardAsset.type == CardType.wrath)
        {
            return;
        }

        if (c.cardAsset.type == CardType.blessing)
        {
            return;
        }

        Game.instance.CurrentEnemyIndex = c.cardAsset.cardnumber;
        if (c.cardAsset.rollResult > 0)
        {
            new GoToNextGamePhase(GamePhase.BattleEnd).AddToQueue();
        }
        else
        {
            new GoToNextGamePhase(GamePhase.Battle).AddToQueue();
        }


        // GameManager.instance.StartCoroutine(this.Draw3Cards());
    }
Example #3
0
    public void LoadFromNetworkPlayer(NetworkPlayer np)
    {
        this.np            = np;
        nickname           = np.nickname;
        nicknameField.text = nickname;

        avatarAsset         = np.avatar;
        avatarSprite.sprite = avatarAsset.AvatarImage;

        if (!np.cardsPlayed.Any() || np.cardsPlayed.Count < 2)
        {
            Debug.LogError("ERROR:  Loading PlayedItem.cs from Player who didn't play any cards.");
        }
        else
        {
            card1Asset = np.cardsPlayed[0].ca;
            card2Asset = np.cardsPlayed[1].ca;

            OneCardManager card1Manager = card1.GetComponent <OneCardManager>();
            card1Manager.cardAsset = card1Asset;
            card1Manager.ReadCardFromAsset();
            OneCardManager card2Manager = card2.GetComponent <OneCardManager>();
            card2Manager.cardAsset = card2Asset;
            card2Manager.ReadCardFromAsset();
        }
    }
    private void loadCardFromEvent(GameObject card, CardLogic cl)
    {
        OneCardManager cardManager = card.GetComponent <OneCardManager>();

        cardManager.cardAsset = cl.ca;
        cardManager.ReadCardFromAsset();
    }
Example #5
0
    GameObject CreateACardAtPosition(CardAsset c, Vector3 position, Vector3 eulerAngles)
    {
        GameObject card;

        if (c.MaxHealth > 0)
        {
            card = GameObject.Instantiate(GlobalSettings.Instance.CreatureCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
        }
        else
        {
            if (c.Targets == TargetingOptions.NoTarget)
            {
                card = GameObject.Instantiate(GlobalSettings.Instance.NoTargetSpellCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
            }
            else
            {
                card = GameObject.Instantiate(GlobalSettings.Instance.TargetedSpellCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
                // передает список допустимых целей скрипту, отвечающему за проверку корректности цели
                DragSpellOnTarget dragSpell = card.GetComponentInChildren <DragSpellOnTarget>();
                dragSpell.Targets = c.Targets;
            }
        }

        OneCardManager manager = card.GetComponent <OneCardManager>();

        manager.cardAsset = c;
        manager.ReadCardFromAsset();

        return(card);
    }
Example #6
0
    public void ShowCraftingScreen(CardAsset cardToShow)
    {
        currentCard = cardToShow;
        GameObject cardObject;

        if (currentCard.TypeOfCard == TypesOfCards.Creature)
        {
            cardObject = CreatureCard;
            CreatureCard.SetActive(true);
            SpellCard.SetActive(false);
        }
        else
        {
            cardObject = SpellCard;
            CreatureCard.SetActive(false);
            SpellCard.SetActive(true);
        }
        OneCardManager manager = cardObject.GetComponent <OneCardManager>();

        manager.CardAsset = cardToShow;
        manager.ReadCardFromAsset();

        CraftText.text      = "Craft this card for " + TradingCosts[cardToShow.Rarity].CraftCost + " dust";
        DisenchantText.text = "Disenchant to get " + TradingCosts[cardToShow.Rarity].DisenchantOutcome + " dust";

        ShopManager.Instance.DustHUD.SetActive(true);
        UpdateQuantityOfCurrentCard();
        Content.SetActive(true);
    }
Example #7
0
    /// <summary>
    /// Muestra los premios obtenidos en la partida para el jugador usuario.
    /// </summary>
    /// <param name="carta">Carta.</param>
    /// <param name="items">Items.</param>
    /// <param name="experiencia">Experiencia.</param>
    public void MostrarPremioPartida(Carta carta, List <Item> items, int experiencia)
    {
        puntosExp.text = "ENHORABUENA, HAS OBTENIDO " + experiencia.ToString() + " PUNTOS DE EXP";
        PremioPartidaPanel.SetActive(true);
        if (carta != null)
        {
            CartaBase      asset          = carta.AssetCarta;
            int            progresoTrebol = carta.Progreso.Piedra;
            int            progresoPocion = carta.Progreso.Pocion;
            GameObject     cartaGobj      = Instantiate(ObjetosGenerales.Instance.CardInventario, transform);
            OneCardManager manager        = cartaGobj.GetComponent <OneCardManager>();
            ProgresoVisual progreso       = cartaGobj.GetComponent <ProgresoVisual>();
            manager.CartaAsset = asset;
            progreso.PorcentajeProgresoPiedra = progresoTrebol;
            progreso.PorcentajeProgresoPocion = progresoPocion;
            manager.LeerDatos();
            progreso.LeerProgreso();
            cartaGobj.transform.SetParent(horizontalLayoutGroup.gameObject.transform);
        }
        GameObject itemGobj;

        foreach (Item item in items)
        {
            itemGobj = Instantiate(ObjetosGenerales.Instance.ItemInventario, transform);
            OneItemManager manager = itemGobj.GetComponent <OneItemManager>();
            manager.Item = item;
            manager.LeerDatosItem();
            itemGobj.transform.SetParent(horizontalLayoutGroup.gameObject.transform);
        }
    }
Example #8
0
        private static void CorrectDeck2_AddItemToHand()
        {
            string cardname = "apollobow";

            CardManager.Card chosenCard = null;

            foreach (CardManager.Card card in Game.instance.currentDeck)
            {
                if (card.name.Equals(cardname))
                {
                    chosenCard = card;
                    break;
                }
            }

            foreach (CardManager.Card card in Game.instance.reserveDeck)
            {
                if (card.name.Equals(cardname))
                {
                    chosenCard = card;
                    break;
                }
            }



            if (chosenCard != null)
            {
                Game.instance.currentDeck.Remove(chosenCard);
                SameDistanceChildren distance = Visual.instance.TreasureHand.GetComponent <SameDistanceChildren>();
                int        emptySlotIndex     = distance.GetOccupiedSlotsNumber();
                GameObject treasureslot       = distance.slots[emptySlotIndex];
                OneCardManager.CreateOneCardManager(chosenCard, treasureslot);
            }
        }
Example #9
0
    private GameObject CardFromPack(RarityOptions rarity)
    {
        List <CardAsset> CardsOfThisRarity = CardCollection.Instance.GetCardsWithRarity(rarity);
        CardAsset        a = CardsOfThisRarity[Random.Range(0, CardsOfThisRarity.Count)];

        CardCollection.Instance.QuantityOfEachCard[a]++;

        GameObject card;

        if (a.TypeOfCard == TypesOfCards.Creature)
        {
            card = Instantiate(CreatureCardFromPackPrefab) as GameObject;
        }
        else
        {
            card = Instantiate(SpellCardFromPackPrefab) as GameObject;
        }

        card.transform.rotation = Quaternion.Euler(0f, 180f, 0f);
        OneCardManager manager = card.GetComponent <OneCardManager>();

        manager.CardAsset = a;
        manager.ReadCardFromAsset();
        return(card);
    }
        private IEnumerator ActivateAegisOfZeusCoroutine()
        {
            Visual.instance.disableInput(true);
            float             timeMovement    = Const.mediumCardTimeMovement;
            HelmOfHadesTarget targetcomponent = target.GetComponent <HelmOfHadesTarget>();

            HelmOfHadesTarget[] targetsarray = GameObject.FindObjectsOfType <HelmOfHadesTarget>();
            foreach (var VARIABLE in targetsarray)
            {
                if (VARIABLE != targetcomponent)
                {
                    GameObject.DestroyImmediate(VARIABLE);
                }
            }



            HelmOfHadesActivated[] arractivated = GameObject.FindObjectsOfType <HelmOfHadesActivated>();
            HelmOfHadesActivated   activated    = arractivated[0];
            OneCardManager         helmcm       = activated.GetComponent <OneCardManager>();


            VisualTool.DiscardCardToWinningPile(helmcm);
            VisualTool.DiscardCardToDiscardPile(target);

            GameLogicEvents.eventUpdateCurrentEncounter.Invoke();
            GameLogicEvents.eventUpdateLossCounter.Invoke();

            yield return(Const.mediumCardTimeMovement + EndTurn.SmallAmountOfTime);

            VisualTool.SwitchAllControls(true);
            Visual.instance.disableInput(false);
            Command.CommandExecutionComplete();
        }
Example #11
0
    public OneCardManager CreateCard(Point p, GameObject cardPrefab, GameObject initPosition, CardAsset cardAsset, float delay)
    {
        //card = Instantiate(cardPrefab);

        //keep it bewtween 2 and 1

        OneCardManager card = Instantiate(cardPrefab, initPosition.transform.position, Quaternion.Euler(0, 180, UnityEngine.Random.Range(-1, 1))).GetComponent <OneCardManager>();

        RotateFieldCard(card);
        AllCards.Add(card);

        card.transform.SetParent(FieldCardParent.transform, false);
        card.cardAsset = cardAsset;
        card.ReadCardFromAsset();
        card.point = p;

        EmptyCardSlots.Remove(AllSlots[p.Y, p.X]); // cannot put it here sadly
        card.transform.position = initPosition.transform.position;
        //Debug.Log("R_"+card.transform.rotation);
        //card.transform.Rotate(new Vector3(1, 2, -1));

        Vector3 v = new Vector3(AllSlots[p.Y, p.X].transform.position.x + UnityEngine.Random.Range(-0.05f, 0.05f), AllSlots[p.Y, p.X].transform.position.y + UnityEngine.Random.Range(-0.05f, 0.05f), AllSlots[p.Y, p.X].transform.position.z);

        if (card.cardAsset.Type == CardType.Player)
        {
            v.y = 0.35f;
        }
        card.transform.DOMove(v, delay); //AllSlots[p.Y, p.X].transform.position
        return(card);
    }
Example #12
0
 // Use this for initialization
 void Awake()
 {
     isSelectable = false;
     isSelected   = false;
     card         = gameObject.GetComponent <OneCardManager>();
     sm           = UnityEngine.Object.FindObjectOfType <SelectionManager>().GetComponent <SelectionManager>();
 }
Example #13
0
    // CARD DRAW METHODS

    // creates a card and returns a new card as a GameObject
    GameObject CreateACardAtPosition(Cards c, Vector3 position, Vector3 eulerAngles)
    {
        // Instantiate a card depending on its type
        GameObject card;

        /*if (c.MaxHealth > 0)  //We don't have creature cards now
         * {
         *  // this card is a creature card
         *  card = GameObject.Instantiate(GlobalSettings.Instance.CreatureCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
         * }
         * else
         * {*/
        // this is a spell: checking for targeted or non-targeted spell
        if (c.targets == TargetingOptions.NoTarget)
        {
            card = GameObject.Instantiate(GlobalSettings.Instance.NoTargetSpellCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
        }
        else
        {
            card = GameObject.Instantiate(GlobalSettings.Instance.TargetedSpellCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
            // pass targeting options to DraggingActions
            DragSpellOnTarget dragSpell = card.GetComponentInChildren <DragSpellOnTarget>();
            dragSpell.Targets = c.targets;
        }

        //}

        // apply the look of the card based on the info from CardAsset
        OneCardManager manager = card.GetComponent <OneCardManager>();

        manager.cardAsset = c;
        manager.ReadCardFromAsset();

        return(card);
    }
Example #14
0
    GameObject CreateACardAtPosition(CardAsset cardAsset, Vector3 position, Vector3 eulerAngles)
    {
        GameObject card;

        if (cardAsset.IsCreatureCard)
        {
            card = GameObject.Instantiate(GlobalSettings.Instance.CreatureCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
        }
        else
        {
            if (cardAsset.Targets == TargetingOptions.NoTarget)
            {
                card = GameObject.Instantiate(GlobalSettings.Instance.NoTargetSpellCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
            }
            else
            {
                card = GameObject.Instantiate(GlobalSettings.Instance.TargetedSpellCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;
                // pass targeting options to DraggingActions
                DragSpellOnTarget dragSpell = card.GetComponentInChildren <DragSpellOnTarget>();
                dragSpell.Targets = cardAsset.Targets;
            }
        }

        // apply the look of the card based on the info from CardAsset
        OneCardManager manager = card.GetComponentInChildren <OneCardManager>();

        manager.cardAsset = cardAsset;
        manager.LoadFromCardAsset();

        return(card);
    }
Example #15
0
 public void DeleteCard(OneCardManager card)
 {
     Debug.Log("DeletingCard");
     ChatBot2.text = ChatBot2.text + "\n" + System.DateTime.Now.ToString("hh:mm:ss") + ": : DeleteCard()";
     Debug.Log(card.point.X);
     Debug.Log(card.point.Y);
     AddEmptySlot(card.point);
     StartCoroutine(card.DeleteThisCard());
 }
Example #16
0
    // method to create a new card and add it to the table
    public void AddSpellCardAtIndex(Cards ca, int UniqueID, int index, CardLogic cl, Player p, ICharacter target)
    {
        GameObject card;

        // create a new creature from prefab
        if (target == null)
        {
            card = GameObject.Instantiate(GlobalSettings.Instance.NoTargetSpellCardPrefab, slots.Children[index].transform.position, Quaternion.identity) as GameObject;
            card.GetComponent <Draggable>().enabled = false;// just can't move when drag should somehow set "Candrag" in DraggingAction to false;
        }
        else
        {
            card = GameObject.Instantiate(GlobalSettings.Instance.TargetedSpellCardPrefab, slots.Children[index].transform.position, Quaternion.identity) as GameObject;
            card.GetComponent <Draggable>().enabled = false;// just can't move when drag should somehow set "Candrag" in DraggingAction to false;
        }



        // apply the look from CardAsset
        OneCardManager manager = card.GetComponent <OneCardManager>();

        manager.cardAsset = ca;
        manager.ReadCardFromAsset();

        // add tag according to owner
        foreach (Transform t in card.GetComponentsInChildren <Transform>())
        {
            t.tag = owner.ToString() + "Card";
        }

        // parent a new creature gameObject to table slots
        card.transform.SetParent(slots.transform);

        // add a new creature to the list
        CardsOnTable.Insert(index, card);

        // let this Card know about its position
        WhereIsTheCardOrCreature w = card.GetComponent <WhereIsTheCardOrCreature>();

        w.Slot        = index;
        w.VisualState = VisualStates.LowTable;

        // add our unique ID to this Card
        IDHolder id = card.AddComponent <IDHolder>();

        id.UniqueID = UniqueID;

        // after a new creature is added update placing of all the other creatures
        ShiftSlotsGameObjectAccordingToNumberOfCards();
        PlaceCardsOnNewSlots();

        p.commandsWaitinglist.Add(new TriggerEffectCommand(cl, target, p, p.table));

        // end command execution
        Command.CommandExecutionComplete();
    }
    private void loadAdventurerCardsFromAsset(CardAsset ca)
    {
        OneCardManager smallManager = smallCard.GetComponent <OneCardManager>();
        OneCardManager largeManager = largeCard.GetComponent <OneCardManager>();

        smallManager.cardAsset = ca;
        largeManager.cardAsset = ca;
        smallManager.ReadCardFromAsset();
        largeManager.ReadCardFromAsset();
    }
Example #18
0
    private void Awake()
    {
        lr = GetComponentInChildren <LineRenderer>();
        lr.sortingLayerName = "Above Everything";
        triangle            = transform.Find("Triangle");
        triangleSR          = triangle.GetComponent <SpriteRenderer>();

        whereIsCard = GetComponentInParent <WhereIsTheCardOrCreature>();
        manager     = GetComponentInParent <OneCardManager>();
    }
Example #19
0
    private void ShowCards(bool showingCardsPlayerDoesNotOwn = false, int pageIndex         = 0, bool includeAllRarities = true, bool includeAllCharacters = true,
                           RarityOptions rarity = RarityOptions.Basic, CharacterAsset asset = null, string keyword       = "", int manaCost = -1, bool includeTokenCards = false)
    {
        // saving the information about the cards that we are showing to players on this page
        _showingCardsPlayerDoesNotOwn = showingCardsPlayerDoesNotOwn;
        _pageIndex            = pageIndex;
        _includeAllRarities   = includeAllRarities;
        _includeAllCharacters = includeAllCharacters;
        _rarity            = rarity;
        _asset             = asset;
        _keyword           = keyword;
        _manaCost          = manaCost;
        _includeTokenCards = includeTokenCards;

        List <CardAsset> CardsOnThisPage = PageSelection(showingCardsPlayerDoesNotOwn, pageIndex, includeAllRarities, includeAllCharacters, rarity,
                                                         asset, keyword, manaCost, includeTokenCards);

        // clear created cards list
        ClearCreatedCards();

        if (CardsOnThisPage.Count == 0)
        {
            return;
        }

        // Debug.Log(CardsOnThisPage.Count);

        for (int i = 0; i < CardsOnThisPage.Count; i++)
        {
            GameObject newMenuCard;

            if (CardsOnThisPage[i].TypeOfCard == TypesOfCards.Creature)
            {
                // it is a creature card
                newMenuCard = Instantiate(CreatureMenuPrefab, Slots[i].position, Quaternion.identity) as GameObject;
            }
            else
            {
                // it is a spell card
                newMenuCard = Instantiate(SpellMenuPrefab, Slots[i].position, Quaternion.identity) as GameObject;
            }

            newMenuCard.transform.SetParent(this.transform);

            CreatedCards.Add(newMenuCard);

            OneCardManager manager = newMenuCard.GetComponent <OneCardManager>();
            manager.cardAsset = CardsOnThisPage[i];
            manager.ReadCardFromAsset();

            AddCardToDeck addCardComponent = newMenuCard.GetComponent <AddCardToDeck>();
            addCardComponent.SetCardAsset(CardsOnThisPage[i]);
            addCardComponent.UpdateQuantity();
        }
    }
Example #20
0
    public void Replace2(Point p1, Point p2)
    {
        OneCardManager c1 = FindFieldCardAtPoint(p1);
        OneCardManager c2 = FindFieldCardAtPoint(p2);

        DeleteCard(c1);
        DeleteCard(c2);

        CreateCard(p1, FieldCardPrefab, InitialFieldCardPos, fieldCardAssets[UnityEngine.Random.Range(0, fieldCardAssets.Count)], 0.5f); // should remove these from the deck tbh
        CreateCard(p2, FieldCardPrefab, InitialFieldCardPos, fieldCardAssets[UnityEngine.Random.Range(0, fieldCardAssets.Count)], 1f);
    }
Example #21
0
    public List <OneCardManager> GetValidMoves(OneCardManager card) // highlight arrows and save all player moves found
    {
        List <OneCardManager> nList = new List <OneCardManager>();

        if (card != null)
        {
            nList.AddRange(GetValidMoves(card.point, card.arrows));
        }

        return(nList);
    }
Example #22
0
 public void RemoveTouchComponentsExceptSelf(OneCardManager target, tempTouchComponent exceptionComponent)
 {
     tempTouchComponent[] arrTouchcomponent = target.GetComponents <tempTouchComponent>();
     foreach (var VARIABLE in arrTouchcomponent)
     {
         if (VARIABLE == exceptionComponent)
         {
             continue;
         }
         GameObject.DestroyImmediate(VARIABLE);
     }
 }
Example #23
0
 public void HighlightPaths(OneCardManager card)
 {
     /*
      * var allWays = new List<List<OneCardManager>>();
      *
      * List<OneCardManager> SelectableCards1 = new List<OneCardManager>();
      * List<OneCardManager> SelectableCards2 = new List<OneCardManager>();
      * List<OneCardManager> SelectableCards3 = new List<OneCardManager>();
      * List<OneCardManager> SelectableCards4 = new List<OneCardManager>();
      *
      * SelectableCards1 = HighlightArrows(card); // 1 AP
      * foreach (OneCardManager s in SelectableCards1)
      * {
      *  allWays.Add(new List<OneCardManager> {card});
      * }
      *
      * if (GameManager.Instance.CurrentPlayerTurn.ActionPoints >= 2)
      * {
      *  foreach (OneCardManager ss in SelectableCards1) //2 AP
      *  {
      *      SelectableCards2 = HighlightArrows(ss);
      *      allWays.Add(new List<OneCardManager> { card, ss});
      *
      *
      *      if (GameManager.Instance.CurrentPlayerTurn.ActionPoints >= 3)
      *      {
      *          foreach (OneCardManager sss in SelectableCards2) //3 AP
      *          {
      *              SelectableCards3 = HighlightArrows(sss);
      *              allWays.Add(new List<OneCardManager> { card, ss, sss});
      *
      *              if (GameManager.Instance.CurrentPlayerTurn.ActionPoints >= 3)
      *              {
      *                  foreach (OneCardManager ssss in SelectableCards3) //4 AP
      *                  {
      *                      SelectableCards4 = HighlightArrows(ssss);
      *                      allWays.Add(new List<OneCardManager> { card, ss, sss,ssss});
      *
      *                  }
      *              }
      *          }
      *      }
      *  }
      * }
      *
      * Debug.Log(allWays);
      * foreach (List<OneCardManager> l in allWays)
      * {
      *  Debug.Log(l.Point.X);
      * }
      */
 }
Example #24
0
    public void showDetail()
    {
        print("showDetail");
        GameObject canvas     = GameObject.Find("DeckCanvas");
        GameObject CardDetail = canvas.transform.Find("CardDetail").gameObject;

        CardDetail.SetActive(true);
        OneCardManager ocm = CardDetail.transform.Find("Card").GetComponent <OneCardManager>();

        print(current.Description);
        ocm.cardAsset = current;
        ocm.ReadCardFromAsset();
    }
    private IEnumerator PrepareCardForNewGameCoroutine()
    {
        TestTools.DeckCorrection();
        new WaitForSeconds(.01f);
        foreach (CardManager.Card card in Game.instance.currentDeck)
        {
            GameObject cardPoint  = Visual.instance.CardPointOutside;
            GameObject cardObject = OneCardManager.CreateOneCardManager(card, cardPoint);
        }
        yield return(new WaitForSeconds(.01f));

        Command.CommandExecutionComplete();
    }
Example #26
0
    public void RotateArrows(Point p)
    {
        OneCardManager myCard = FindCardAtPoint(p);

        // if (myCard.gameObject.tag == "Arrows")
        //    Arrow.gameObject.SetActive(false);
        //arrowss = GameObject.FindGameObjectsWithTag("Arrows");
        //foreach (GameObject r in arrowss)
        //   r.transform.Translate(Direction * movespeed * Time.deltaTime);



        arrows t = arrows.None;

        if ((myCard.arrows & arrows.Up) == arrows.Up)
        {
            t |= arrows.Down;
        }

        if ((myCard.arrows & arrows.Down) == arrows.Down)
        {
            t |= arrows.Up;
        }

        if ((myCard.arrows & arrows.Right) == arrows.Right)
        {
            t |= arrows.Left;
        }

        if ((myCard.arrows & arrows.Left) == arrows.Left)
        {
            t |= arrows.Right;
        }



        if (myCard.cardAsset.Type == CardType.Player)
        {
            foreach (PlayerManager pl in GameManager.Instance.players)
            {
                if (pl.myCardManager == myCard)
                {
                    Debug.Log("rotateplayerArrows");
                    pl.arrows = t;
                    pl.point  = myCard.point;
                }
            }
        }

        myCard.updateArrows(t);
    }
        private IEnumerator Draw3CardsCoroutine()
        {
            List <OneCardManager> drawlist = new List <OneCardManager>();

            OneCardManager[]     deckcards = Visual.instance.CardDeckFrame.GetComponentsInChildren <OneCardManager>();
            SameDistanceChildren distance  = Visual.instance.CurrentEncounter.GetComponent <SameDistanceChildren>();
            int drawCardNumber             = 3;

            distance.CurrentEncounterSize = drawCardNumber;


            for (int i = 1; i <= drawCardNumber; i++)
            {
                if (deckcards.Length < i)
                {
                    break;
                }

                OneCardManager card = deckcards[deckcards.Length - (i)];
                drawlist.Add(card);
            }


            float TimeMovement1     = .6f;
            float TimeMovement2     = .4f;
            float SmallAmountOfTime = .05f;
            float DelayTime         = .3f;


            foreach (OneCardManager card in drawlist)
            {
                card.transform.SetParent(null);

                Sequence sequence = DOTween.Sequence();
                sequence.Append(card.transform.DOMove(Visual.instance.CardPoint.transform.position, TimeMovement1));
                sequence.Insert(0f, card.transform.DORotate(Vector3.zero, TimeMovement1));
                sequence.AppendInterval(DelayTime);
                int        index = drawlist.IndexOf(card);
                GameObject slot  = distance.slots[index];

                sequence.Append(card.transform.DOLocalMove(slot.transform.position, TimeMovement2));
                sequence.OnComplete(() => MoveCardToCurrentEncounterGroup(card, slot.transform));

                sequence.Play();
                yield return(new WaitForSeconds(DelayTime));
            }

            yield return(new WaitForSeconds(TimeMovement1 + TimeMovement2 + DelayTime));

            Command.CommandExecutionComplete();
        }
    public void FillByCards(List <CardManager.Card> cards)
    {
        VisualTool.RemoveChildrensFromTransform(CardListContent.transform);

        foreach (CardManager.Card VARIABLE in cards)

        {
            GameObject    slot      = Instantiate(Visual.instance.prefabBasicRect, CardListContent.transform);
            RectTransform transform = slot.GetComponent <RectTransform>();
            VisualTool.SetAnchorPreset(transform);

            GameObject cmObject = OneCardManager.CreateOneCardManager(VARIABLE, slot);
            VisualTool.SetAnchorPreset(cmObject.GetComponent <RectTransform>());
        }
    }
Example #29
0
    // CARD DRAW METHODS

    // creates a card and returns a new card as a GameObject
    GameObject CreateACardAtPosition(CardAsset c, Vector3 position, Vector3 eulerAngles)
    {
        // Instantiate a card depending on its type
        GameObject card;

        card = GameObject.Instantiate(GlobalSettings.Instance.ItemCardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject;

        // apply the look of the card based on the info from CardAsset
        OneCardManager manager = card.GetComponent <OneCardManager>();

        manager.cardAsset = c;
        manager.ReadCardFromAsset();

        return(card);
    }
Example #30
0
    public int getAdjencyBonus(OneCardManager card)
    {
        ChatBot2.text = ChatBot2.text + "\n" + System.DateTime.Now.ToString("hh:mm:ss") + ": : getAdjencyBonus()";
        List <OneCardManager> NeigborCards = GetNeighborCards(card);
        int bonus = 0;

        foreach (OneCardManager neigbor in NeigborCards)
        {
            if (neigbor.cardAsset.Type == CardType.Monster) // check if field card
            {
                bonus += 1;
            }
        }
        return(bonus);
    }