/* private void buildNavy() * { * App app = UnityEngine.Object.FindObjectOfType<App>(); * int playerIndex = app.GetHumanIndex(); * Nation player = State.getNations()[playerIndex]; * if (player.GetTechnologies().Contains("oil_powered_ships")) * { * PlayerPayer.PayDreadnought(player); * player.seaForces.dreadnought.addUnit(); * } * * else if (player.GetTechnologies().Contains("ironclad")) * { * PlayerPayer.PayIronClad(player); * player.seaForces.ironclad.addUnit(); * } * else * { * PlayerPayer.PayFrigate(player); * player.seaForces.frigate.addUnit(); * } * uiUpdater.updateUI(); * * } */ private void getCultureCards() { selfProvince.SetActive(false); otherProvince.SetActive(false); progressPanel.SetActive(false); coordinator.progressFlag = false; App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; PlayerPayer.payForDevelopmentAction(player, 1); MyEnum.cultCard newCard = PlayerReceiver.collectCultureCard(player); uiUpdater.updateUI(); Stack <CultureCard> remainingCultCards = State.getCultureDeck(); HashSet <CultureCard> cultDeckSet = new HashSet <CultureCard>(remainingCultCards); List <MyEnum.cultCard> playerCultHand = new List <MyEnum.cultCard>(player.getCultureCards()); HashSet <CultureCard> playerCultSet = new HashSet <CultureCard>(remainingCultCards); foreach (MyEnum.cultCard cardName in playerCultHand) { CultureCard card = State.getCultureCardByName(cardName); playerCultSet.Add(card); } updateCultureCardBook(newCard); showCultureHandPanel(); }
private void placeCultureCardOnTable(MyEnum.cultCard cardName, int cardSlot) { Debug.Log(cardSlot); App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; Debug.Log(cardName.ToString()); CultureCard newCard = State.getCultureCardByName(cardName); Transform cardTransform = cardArea.transform.GetChild(cardSlot); GameObject card = cardTransform.gameObject; card.SetActive(true); Image cardImage = card.GetComponent <Image>(); cardImage.sprite = Resources.Load("CultureCards/CultureCardSprites/" + newCard.getCardName(), typeof(Sprite)) as Sprite; cardImage.enabled = true; Debug.Log(card.name); // Image border = card.GetComponentInChildren<Image>(); Image border = card.transform.Find("border").GetComponentInChildren <Image>(); border.name = cardName.ToString(); Debug.Log(border.name); Text[] texts = border.GetComponentsInChildren <Text>(); Text name = texts[0]; Text era = texts[1]; Text effect = texts[2]; //Image CardType = border.GetComponentInParent<Image>(); Image CardType = border.transform.Find("Type").GetComponentInChildren <Image>(); card.name = newCard.getCardName().ToString(); Debug.Log("Type: " + newCard.getCardType()); border.sprite = Resources.Load("CultureCards/CultureCardSprites/" + newCard.getCardType(), typeof(Sprite)) as Sprite; name.text = newCard.getCardName().ToString(); era.text = newCard.getEra().ToString(); effect.text = newCard.getDescription(); CardType.sprite = Resources.Load("CultureCards/CultureCardSprites/TypeSymbols/" + newCard.getCardType(), typeof(Sprite)) as Sprite; /*myNewInstance.transform.SetParent(hand.transform.GetChild(cardSlot), false); * // MyEnum.cultCard cardType = (MyEnum.cultCard)Enum.Parse(typeof(MyEnum.cultCard), cardName, true); * CultureCard thisCard = State.getCultureCard(cardName); * if (thisCard.getOriginator() == player.getIndex()) * { * * Transform tempItem = hand.transform.GetChild(cardSlot); * Transform grandChild = tempItem.GetChild(0); * Image img = grandChild.GetComponent<Image>(); * Debug.Log(img.name); * img.transform.SetParent(hand.transform.GetChild(cardSlot), false); * img.enabled = true; * img.transform.SetAsLastSibling(); * } * //Debug.Log("The Parent is: " + hand.transform.GetChild(cardSlot).name); * myNewInstance.transform.localPosition = new Vector3(0, 20, 0); * myNewInstance.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); */ }
private void getCultureCards() { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; PlayerPayer.payForCultureCard(player); MyEnum.cultCard newCard = PlayerReceiver.collectCultureCard(player); MyEnum.Era era = State.era; if (player.getNumberGood(MyEnum.Goods.paper) < 1 || player.getAP() < 1) { drawCultureCards.interactable = false; } if (era != MyEnum.Era.Late && player.getNumberResource(MyEnum.Resources.spice) < 1) { drawCultureCards.interactable = false; } if (era != MyEnum.Era.Early) { if (player.getNumberGood(MyEnum.Goods.clothing) < 1) { drawCultureCards.interactable = false; } } if (era == MyEnum.Era.Late && player.getNumberGood(MyEnum.Goods.telephone) < 1) { drawCultureCards.interactable = false; } Stack <CultureCard> remainingCultCards = State.getCultureDeck(); HashSet <CultureCard> cultDeckSet = new HashSet <CultureCard>(remainingCultCards); List <MyEnum.cultCard> playerCultHand = new List <MyEnum.cultCard>(player.getCultureCards()); HashSet <CultureCard> playerCultSet = new HashSet <CultureCard>(remainingCultCards); foreach (MyEnum.cultCard cardName in playerCultHand) { CultureCard card = State.getCultureCardByName(cardName); playerCultSet.Add(card); } if (cultDeckSet.IsSubsetOf(playerCultSet)) { drawCultureCards.interactable = false; } AP.text = player.getAP().ToString(); // numberCultureCards.text = player.getCultureCards().Count.ToString(); cultureLevel.text = player.getCulureLevel().ToString(); updateCultureCardBook(newCard); showCultureHandPanel(); }
public static List <Card> ReadAllCards() { string strCommand = File.ReadAllText("Database/select_cards_script.sql"); var result = new List <Card>(); using (SQLiteConnection objConnection = new SQLiteConnection(strConnection)) { objConnection.Open(); using (SQLiteCommand command = new SQLiteCommand(strCommand, objConnection)) { using (var reader = command.ExecuteReader()) { while (reader.Read()) { Card card; var type = (CardType)reader.GetInt32(3); switch (type) { case CardType.MilitaryCard: card = new MilitaryCard(); break; case CardType.CultureCard: card = new CultureCard(); break; case CardType.ResourceCard: card = new ResourceCard(); break; case CardType.ScienceCard: card = new ScienceCard(); break; default: card = new TradeCard(); break; } Read(reader, card); result.Add(card); } } } objConnection.Close(); } return(result); }
public static MyEnum.cultCard collectCultureCard(Nation player) { Stack <CultureCard> cultureDeck = State.getCultureDeck(); CultureCard newCard = cultureDeck.Pop(); if (player.getCultureCards().Contains(newCard.getCardName())) { Boolean newCardFound = false; while (newCardFound == false) { cultureDeck.Push(newCard); State.Shuffle <CultureCard>(cultureDeck); newCard = cultureDeck.Pop(); if (!player.getCultureCards().Contains(newCard.getCardName())) { newCardFound = true; } } } player.addCultureCard(newCard.getCardName()); player.Stability += newCard.getHappinessBoost(); player.InfulencePoints += newCard.getInfulenceBoost(); player.increasePrestige(newCard.getPrestigeBoost()); player.GetMilitaryForm().adjustMaxMorale(newCard.getMoraleBoost()); player.adjustClothingQuality(newCard.getClothingQuality()); player.adjustFurnitureQuality(newCard.getFurnQuality()); int index = State.getCultureCardTypes().IndexOf(newCard); CultureCard thisCard = State.getCultureCardTypes()[index]; Debug.Log("Current originator: " + thisCard.getOriginator()); if (thisCard.getOriginator() == -1) { thisCard.setOriginator(player); player.increasePrestige(1); } Debug.Log("New Card is: " + newCard.getCardName().ToString()); player.increaseCultureLevel(); return(thisCard.getCardName()); }
private void placeCultureCardOnTable(MyEnum.cultCard cardName, int cardSlot) { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; Debug.Log(cardName.ToString()); GameObject card = Resources.Load <GameObject>("CultureCards/" + cardName.ToString()) as GameObject; GameObject myNewInstance = Instantiate(card); Transform hand = cultureCardPanel.transform; // Image[] images = cultureCardPanel.GetComponentsInChildren<Image>(); // images[cardSlot].sprite = myNewInstance; myNewInstance.transform.SetParent(hand.transform.GetChild(cardSlot), false); // MyEnum.cultCard cardType = (MyEnum.cultCard)Enum.Parse(typeof(MyEnum.cultCard), cardName, true); CultureCard thisCard = State.getCultureCard(cardName); if (thisCard.getOriginator() == player.getIndex()) { /* GameObject NewObj = new GameObject(); //Create the GameObject * Image NewImage = NewObj.AddComponent<Image>(); //Add the Image Component script * NewImage.sprite = Resources.Load<Sprite>("Sprites/MedalCulture") as Sprite; //Set the Sprite of the Image Component on the new GameObject * NewObj.GetComponent<RectTransform>().SetParent(hand.transform.GetChild(cardSlot)); //Assign the newly created Image GameObject as a Child of the Parent Panel. * NewObj.SetActive(true); //Activate the GameObject */ Transform tempItem = hand.transform.GetChild(cardSlot); Transform grandChild = tempItem.GetChild(0); Image img = grandChild.GetComponent <Image>(); Debug.Log(img.name); img.transform.SetParent(hand.transform.GetChild(cardSlot), false); img.enabled = true; img.transform.SetAsLastSibling(); } //Debug.Log("The Parent is: " + hand.transform.GetChild(cardSlot).name); myNewInstance.transform.localPosition = new Vector3(0, 20, 0); myNewInstance.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); }