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; } }
private static GameObject DrawAnimalCard(Vector2 position, string resId, int howMany) { GameObject card = CardsGenerator.CreateCardGameObject(resId, position); card.AddSmallText(howMany + ""); return(card); }
private static GameObject DrawWorkersCard(Vector2 position, int howMany) { GameObject workerCard = CardsGenerator.CreateCardGameObject("workerGS", position); workerCard.AddSmallText(howMany + ""); return(workerCard); }
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); }
private static GameObject DrawSilverCard(Vector2 position, int howMany) { GameObject silverCard = CardsGenerator.CreateCardGameObject("silver", position); silverCard.AddSmallText(howMany + ""); return(silverCard); }
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); } } } }
public CardHolder(int owner, CardsGenerator cardGen) { physicalCardGenerator = cardGen; Cards = new List <Card>(); Owner = owner; }
private void DrawNewCard() { if (GSP.GameState.CurrentPlayer.Cards.Count > 1) { CardsGenerator.CreateCardGameObject(GSP.GameState.CurrentPlayer.Cards[1].GetResIdForCard(), Vector2.zero, parent: NewCard); } }
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); }
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); }
private GameObject DrawAvailableCard(Vector2 position, Card card) { var resId = card.GetResIdForCard(); GameObject obj = CardsGenerator.CreateCardGameObject(resId, position, parent: AvailableCardsObj); GarbageCollector.Add(obj); return(obj); }
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); }
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)); }
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); }
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; }); }
private void Awake() { _instance = this; _gameController = GameController.Instance; _deckOfCards = new List <GameObject>(); GenerateAllPack(); ShufflePackCards(); SetTrump(); }
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)); } }
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); } }; }
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)); } }
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); }
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; }
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); } }
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); }; }
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)); }
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); }
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; } }
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); }