private void DrawAvailableTriples()
    {
        float margin = 0;

        var triples = GSP.GameState.CurrentPlayer.GetNotCompletedTriplesForCard(Card);

        foreach (List <Card> cards in triples)
        {
            foreach (Card c in cards)
            {
                var card = CardsGenerator.CreateCardGameObject(c.GetResIdForCard(), new Vector2(margin, 0), parent: AvailableCardsObj);
                GarbageCollector.Add(card);

                var clickComponent = card.AddComponent <ClickActionScript>();
                clickComponent.ClickMethod = (x) => {
                    if (!clickable)
                    {
                        return;
                    }
                    clickable = false;

                    DoneCallback(c.TripleId);
                    Destroy(gameObject);
                };

                margin = margin + GD.CardWidth * 0.6f;
            }

            margin = margin + GD.CardWidth + GD.MarginSmall;
        }
    }
Ejemplo n.º 2
0
    private static GameObject DrawAnimalCard(Vector2 position, string resId, int howMany)
    {
        GameObject card = CardsGenerator.CreateCardGameObject(resId, position);

        card.AddSmallText(howMany + "");
        return(card);
    }
Ejemplo n.º 3
0
    private static GameObject DrawWorkersCard(Vector2 position, int howMany)
    {
        GameObject workerCard = CardsGenerator.CreateCardGameObject("workerGS", position);

        workerCard.AddSmallText(howMany + "");
        return(workerCard);
    }
Ejemplo n.º 4
0
    void DrawPlayerFinishRow(int place, Player player, Vector2 position)
    {
        Object     obj    = Resources.Load("Prefabs/FinishGamePlayerRow");
        GameObject prefab = Instantiate(obj) as GameObject;

        GameObject canvas = GameObject.Find("Canvas");

        prefab.transform.SetParent(canvas.transform);

        prefab.transform.position = position;

        prefab.transform
        .GetChild(0)
        .GetComponentInChildren <TMPro.TextMeshProUGUI>()
        .text = GetPlaceString(place);

        prefab.transform
        .GetChild(1)
        .GetComponentInChildren <TMPro.TextMeshProUGUI>()
        .text = player.NickName;


        var pointsPosition = prefab.transform
                             .GetChild(2)
                             .GetChild(0)
                             .transform
                             .position;

        GameObject pointsCard = CardsGenerator.CreateCardGameObject("small_card_empty", pointsPosition, false, true);

        pointsCard.AddSmallText(player.Score + "", false, true);

        TMPro.TextMeshProUGUI textObj = prefab.GetComponentInChildren <TMPro.TextMeshProUGUI>();
        textObj.text = GetPlaceString(place);
    }
Ejemplo n.º 5
0
    private static GameObject DrawSilverCard(Vector2 position, int howMany)
    {
        GameObject silverCard = CardsGenerator.CreateCardGameObject("silver", position);

        silverCard.AddSmallText(howMany + "");
        return(silverCard);
    }
Ejemplo n.º 6
0
        public void AllCardsConnectWithEachOver()
        {
            const int width = 1 + (rep - 1) * n;
            var       cards = new CardsGenerator().Generate(n, rep);

            ShowCards(cards);

            for (int i = 0; i < width; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int i1 = 0; i1 < width; i1++)
                    {
                        bool isConnect = false;
                        for (int j1 = 0; j1 < n; j1++)
                        {
                            if (cards[j, i] == cards[j1, i1])
                            {
                                isConnect = true;
                                break;
                            }
                        }

                        Assert.IsTrue(isConnect);
                    }
                }
            }
        }
Ejemplo n.º 7
0
    public CardHolder(int owner, CardsGenerator cardGen)
    {
        physicalCardGenerator = cardGen;

        Cards = new List <Card>();
        Owner = owner;
    }
Ejemplo n.º 8
0
 private void DrawNewCard()
 {
     if (GSP.GameState.CurrentPlayer.Cards.Count > 1)
     {
         CardsGenerator.CreateCardGameObject(GSP.GameState.CurrentPlayer.Cards[1].GetResIdForCard(), Vector2.zero, parent: NewCard);
     }
 }
Ejemplo n.º 9
0
    private void DrawPoints(Vector2 position, int points)
    {
        GameObject pointsCard = CardsGenerator.CreateCardGameObject("small_card_empty", position, false, true);

        pointsCard.AddSmallText(points + "", false, true);

        GarbageCollector.Add(pointsCard);
    }
Ejemplo n.º 10
0
    private static GameObject DrawPoints(Vector2 position, int points)
    {
        GameObject pointsCard = CardsGenerator.CreateCardGameObject("small_card_empty", position, false, true);

        pointsCard.AddSmallText(points + "", false, true);

        return(pointsCard);
    }
Ejemplo n.º 11
0
    private GameObject DrawAvailableCard(Vector2 position, Card card)
    {
        var        resId = card.GetResIdForCard();
        GameObject obj   = CardsGenerator.CreateCardGameObject(resId, position, parent: AvailableCardsObj);

        GarbageCollector.Add(obj);
        return(obj);
    }
Ejemplo n.º 12
0
    private GameObject DrawGoodsCard(Vector2 position, string resId, int howMany)
    {
        GameObject card = CardsGenerator.CreateCardGameObject(resId, position, parent: gameObject);

        card.AddSmallText(howMany + "");
        GarbageCollector.Add(card);
        return(card);
    }
Ejemplo n.º 13
0
 private void DrawDices()
 {
     gameObjects.Add(CardsGenerator.DrawStaticCard(StaticCards.DummyDiceI, D.PositionProjectDiceI));
     gameObjects.Add(CardsGenerator.DrawStaticCard(StaticCards.DummyDiceII, D.PositionProjectDiceII));
     gameObjects.Add(CardsGenerator.DrawStaticCard(StaticCards.DummyDiceIII, D.PositionProjectDiceIII));
     gameObjects.Add(CardsGenerator.DrawStaticCard(StaticCards.DummyDiceIV, D.PositionProjectDiceIV));
     gameObjects.Add(CardsGenerator.DrawStaticCard(StaticCards.DummyDiceV, D.PositionProjectDiceV));
     gameObjects.Add(CardsGenerator.DrawStaticCard(StaticCards.DummyDiceVI, D.PositionProjectDiceVI));
 }
Ejemplo n.º 14
0
    private void UpdateView(GameInfo gameInfo)
    {
        CleanGarbageCollector();
        string text   = gameInfo.PlayersNow + "/" + gameInfo.PlayersMax + " joined";
        var    obj    = CardsGenerator.DrawObjectWithTextFromPrefab(new Vector2(0, 0), "DefaultTextWhite", text);
        var    script = obj.AddComponent <ClickActionScript>();

        GarbageCollector.Add(obj);
    }
Ejemplo n.º 15
0
    private void DrawPlayerCards()
    {
        float margin = 0;

        GSP.GameState.CurrentPlayer.Cards.ForEach((Card obj) => {
            CardsGenerator.CreateCardGameObject(obj.GetResIdForCard(), new Vector2(margin, 0), parent: YourCards);
            margin = margin + GD.CardWidth * 0.8f;
        });
    }
Ejemplo n.º 16
0
    private void Awake()
    {
        _instance       = this;
        _gameController = GameController.Instance;

        _deckOfCards = new List <GameObject>();
        GenerateAllPack();
        ShufflePackCards();
        SetTrump();
    }
Ejemplo n.º 17
0
 private void DrawGoods(Deck goodsDeck)
 {
     if (goodsDeck.Cards.Count > 0)
     {
         gameObjects.Add(CardsGenerator.DrawStaticCard(goodsDeck.Cards[0], D.PositionGoodsToTakeCard1));
     }
     if (goodsDeck.Cards.Count > 1)
     {
         gameObjects.Add(CardsGenerator.DrawStaticCard(goodsDeck.Cards[1], D.PositionGoodsToTakeCard2));
     }
 }
Ejemplo n.º 18
0
 private void DrawAnimals(Deck animalsDeck)
 {
     if (animalsDeck.Cards.Count > 0)
     {
         gameObjects.Add(CardsGenerator.DrawStaticCard(animalsDeck.Cards[0], D.PositionAnimalToTakeCard1));
     }
     if (animalsDeck.Cards.Count > 1)
     {
         gameObjects.Add(CardsGenerator.DrawStaticCard(animalsDeck.Cards[1], D.PositionAnimalToTakeCard2));
     }
 }
    private void DrawCard(float margin, int index)
    {
        var animal = GSP.GameState.AnimalsDeck.Cards[index];

        string resId = "";

        switch (animal.Class)
        {
        case CardClass.Pig:
            resId = "pig";
            break;

        case CardClass.Cow:
            resId = "cow";
            break;

        case CardClass.Sheep:
            resId = "lamb";
            break;

        case CardClass.Chicken:
            resId = "hen";
            break;
        }
        var card = CardsGenerator.CreateCardGameObject(resId, new Vector2(margin, posAvailableCards.y), parent: gameObject);

        GarbageCollector.Add(card);
        var clickComponent = card.AddComponent <ClickActionScript>();

        clickComponent.ClickMethod = (x) => {
            print("click");
            if (!clickable)
            {
                return;
            }
            print("click");

            GiveThisCardToPlayer(index);
            HowManyCards = HowManyCards - 1;
            if (HowManyCards == 0)
            {
                UpdateView(HowManyCards);
                clickable = false;
                Invoke("Done", 1f);
            }
            else
            {
                UpdateView(HowManyCards);
            }
        };
    }
Ejemplo n.º 20
0
 private void DrawPlayerProjectCards(List <Card> cards)
 {
     if (cards.Count > 0)
     {
         gameObjects.Add(CardsGenerator.DrawBuildProjectCard(cards[0], D.PositionProjectCard1));
     }
     if (cards.Count > 1)
     {
         gameObjects.Add(CardsGenerator.DrawBuildProjectCard(cards[1], D.PositionProjectCard2));
     }
     if (cards.Count > 2)
     {
         gameObjects.Add(CardsGenerator.DrawBuildProjectCard(cards[2], D.PositionProjectCard3));
     }
 }
Ejemplo n.º 21
0
    private static void DrawCard(Vector2 position, BonusCard card)
    {
        Object     obj    = Resources.Load("Prefabs/Card");
        GameObject prefab = Instantiate(obj) as GameObject;

        GameObject canvas = GameObject.Find("Canvas");

        prefab.transform.SetParent(canvas.transform);

        Image image = prefab.GetComponent <Image>();

        image.overrideSprite = CardsGenerator.GetSpriteForBonus(card);

        prefab.transform.position = new Vector3(position.x, position.y, 0);
    }
Ejemplo n.º 22
0
    public GamePlayer(int id, int race, Board board, bool hisTurn, CardsGenerator cardGen)
    {
        Race       = race;
        ID         = id;
        Board      = board;
        HisTurn    = hisTurn;
        CardHolder = new CardHolder(id, cardGen);

        Gold      = 1;
        Food      = 2;
        Mana      = 1;
        MaxFood   = 1;
        MaxMana   = 1;
        EndedTurn = false;
    }
Ejemplo n.º 23
0
    private void DrawCard(float margin, int index)
    {
        var goods = GSP.GameState.GoodsDeck.Cards[index];

        string resId = "";

        switch (goods.Dice)
        {
        case CardDice.I_II:
            resId = "goods1-2";
            break;

        case CardDice.III_IV:
            resId = "goods3-4";
            break;

        case CardDice.V_VI:
            resId = "goods5-6";
            break;
        }
        var card = CardsGenerator.CreateCardGameObject(resId, new Vector2(margin, posAvailableCards.y), parent: gameObject);

        GarbageCollector.Add(card);
        var clickComponent = card.AddComponent <ClickActionScript>();

        clickComponent.ClickMethod = (x) => {
            if (!clickable)
            {
                return;
            }

            GiveThisCardToPlayer(index);
            HowManyCards = HowManyCards - 1;
            if (HowManyCards == 0)
            {
                UpdateView(HowManyCards);
                clickable = false;
                Invoke("Done", 1f);
            }
            else
            {
                UpdateView(HowManyCards);
            }
        };
    }
        public void CreateCards_ShouldReturn52()
        {
            // Act
            var result = CardsGenerator.CreateCards();

            // Assert
            Assert.AreEqual(result.Count, 52);
            Assert.AreEqual(result.Count(a => a.Color == CardColor.Black.ToString()), 26);
            Assert.AreEqual(result.Count(a => a.Color == CardColor.Red.ToString()), 26);
            Assert.AreEqual(result.Count(a => a.Suit == Suit.Clubs.ToString()), 13);
            Assert.AreEqual(result.Count(a => a.Suit == Suit.Diamonds.ToString()), 13);
            Assert.AreEqual(result.Count(a => a.Suit == Suit.Hearts.ToString()), 13);
            Assert.AreEqual(result.Count(a => a.Suit == Suit.Spades.ToString()), 13);
            for (int i = 2; i <= 14; i++)
            {
                Assert.AreEqual(result.Count(a => a.Value == i), 4);
            }
        }
Ejemplo n.º 25
0
    public void UpdateView(Card card)
    {
        cardObject      = GameObject.Find("card_object");
        cardName        = GameObject.Find("card_name");
        cardDescription = GameObject.Find("description_test");
        doneButton      = GameObject.Find("done");

        this.card = card;
        cardDescription.GetComponent <TMPro.TextMeshProUGUI>().text = GetDescription();
        cardName.GetComponent <TMPro.TextMeshProUGUI>().text        = GetCardName();

        cardObject.GetComponent <Image>().overrideSprite = CardsGenerator.GetSpriteForCard(card);

        doneButton.AddComponent <ClickActionScript>()
        .ClickMethod = (item) => {
            print("done clicked");
            Destroy(gameObject, 0.5f);
        };
    }
Ejemplo n.º 26
0
    private void DrawEnviroment(GameState gameState, Player mePlayer)
    {
        gameObjects.Add(CardsGenerator.DrawEstateCard(mePlayer.CompletedProjects.Count));
        gameObjects.Add(CardsGenerator.DrawProjectsCard(mePlayer.ProjectArea.Count));
        gameObjects.Add(CardsGenerator.DrawStorageCard(mePlayer.Goods.Count));
        gameObjects.Add(CardsGenerator.DrawAllAnimalsCard(mePlayer.Animals.Count));

        gameObjects.Add(CardsGenerator.DrawSellStuffCard());
        gameObjects.Add(CardsGenerator.DrawShipGoodsCard());
        gameObjects.Add(CardsGenerator.DrawSilverCard(mePlayer.SilverCount, mePlayer.SilverActionDoneThisTurn));
        gameObjects.Add(CardsGenerator.DrawWorkersCard(mePlayer.WorkersCount));

        gameObjects.Add(CardsGenerator.DrawPointsElement(mePlayer.Score));
        gameObjects.Add(CardsGenerator.DrawNextTurnButton());
        gameObjects.Add(CardsGenerator.DrawExitGameButton());

        gameObjects.Add(CardsGenerator.DrawBigBackgroundCard(StaticCards.DummyAllProjects, D.PositionCardProjectsBigCard));

        gameObjects.Add(CardsGenerator.DrawCurrentBonusCard(gameState.CurrentRound));
    }
Ejemplo n.º 27
0
    void Start()
    {
        Board = new Board(this);
        //Debug.Log("Direct mesajul");

        physicalCardGenerator = new CardsGenerator(DragonCardPrefab, SpellCardPrefab);

        GoldBonus    = 2;
        MaxManaBonus = 1;
        MaxFoodBonus = 1;

        Players    = new GamePlayer[2];
        Players[0] = new GamePlayer(1, WATER, Board, true, physicalCardGenerator);
        Players[1] = new GamePlayer(2, WATER, Board, false, physicalCardGenerator);
        //Players[PlayerInfoScene.Instance.playerId - 1].Race = PlayerInfoScene.Instance.chosenElement;
        //Debug.Log("Direct mesajul");
        if (PlayerInfoScene.Instance.PhotonPresent == 0)
        {
            StartGame();
            Debug.Log("StartGame called from Start()");
        }
    }
        public void ShuffleCards_ShouldReturnShuffeldCards()
        {
            // Arrange
            var cards = _fixture.CreateMany <Card>(52).ToList();

            Card[] originalCopy = new Card[52];
            cards.CopyTo(originalCopy);

            // Act
            CardsGenerator.ShuffleCards(cards);

            // Assert
            var diff = 0;

            for (int i = 0; i < 52; i++)
            {
                if (cards[i].Value != originalCopy[i].Value)
                {
                    diff++;
                }
            }
            Assert.AreNotEqual(diff, 0);
        }
Ejemplo n.º 29
0
    private void DrawCards(List <Card> cards)
    {
        float margin = 0;

        foreach (Card card in cards)
        {
            var cardObj = CardsGenerator.CreateCardGameObject(card.GetResIdForCard(), new Vector2(margin, 0), parent: availableCardsObj);

            cardObj.AddComponent <ClickActionScript>()
            .ClickMethod = (x) => {
                if (!clickable)
                {
                    return;
                }

                clickable = false;
                GiveThisCardToPlayer(card);
                Invoke("Destroy", 0.5f);
            };

            margin = margin + GD.CardWidth + GD.MarginSmall;
        }
    }
Ejemplo n.º 30
0
    private void AllGameInfosResponse(ResponseOrError <List <GameInfo> > responseOrError)
    {
        if (responseOrError.IsSuccess)
        {
            CleanGarbageCollector();

            List <GameInfo> info = responseOrError
                                   .Response
                                   .FindAll((obj) =>
                                            obj.CreatorNickName != PlayerNickName &&
                                            obj.Available &&
                                            obj.PlayersNow < obj.PlayersMax);

            if (info.IsEmpty())
            {
                string text = "no games available";
                var    obj  = CardsGenerator.DrawObjectWithTextFromPrefab(new Vector2(0, 0), "DefaultTextWhite", text);
                GarbageCollector.Add(obj);
            }
            else
            {
                for (int i = 0; i < info.Count; i++)
                {
                    GameInfo game   = info[i];
                    float    y      = StartingAxisY - i * SpaceBetweenTexts;
                    string   text   = game.CreatorNickName + "'s game, players " + game.PlayersNow + "/" + game.PlayersMax;
                    var      obj    = CardsGenerator.DrawObjectWithTextFromPrefab(new Vector2(0, y), "DefaultTextWhite", text);
                    var      script = obj.AddComponent <ClickActionScript>();
                    script.ClickMethod    = OnGameItemClick;
                    script.ClickParameter = game;
                    GarbageCollector.Add(obj);
                }
            }
        }

        Invoke("GetAvailableGames", 2);
    }