public static void payForFactory(Nation player, MyEnum.Goods factoryType) { int factoryLevel = player.industry.getFactoryLevel(factoryType); if (factoryLevel == 0) { player.consumeGoods(MyEnum.Goods.parts, 1); player.consumeGoods(MyEnum.Goods.lumber, 1); player.UseAP(1); player.useIP(1); } if (factoryLevel == 1) { player.consumeGoods(MyEnum.Goods.parts, 2); player.consumeGoods(MyEnum.Goods.lumber, 2); player.UseAP(1); player.useIP(2); } if (factoryLevel == 2) { player.consumeGoods(MyEnum.Goods.parts, 2); player.consumeGoods(MyEnum.Goods.lumber, 2); player.consumeGoods(MyEnum.Goods.gear, 2); player.UseAP(2); player.useIP(3); } }
private void performGoodTransaction(Nation seller, Nation buyer, Signal offer, Signal bid) { Market market = State.market; MyEnum.Goods good = offer.getGoodType(); float price = market.getPriceOfGood(good); if (bid.getOffBidLevel() == MyEnum.OffBidLevels.high) { price = price * 1.25f; } if (bid.getOffBidLevel() == MyEnum.OffBidLevels.low) { price = price * 75f; } seller.receiveGold(price); buyer.payGold(price); seller.consumeGoods(good, 1); buyer.collectGoods(good, 1); market.removeGoodBid(good, bid); market.removeGoodOffer(good, offer); market.addGoodSold(good); seller.addToExportValue(price); buyer.addToImportValue(price); bid.setPriceSold(price); offer.setPriceSold(price); seller.addExport(bid); buyer.addImport(offer); }
private void updatePanel(Nation player) { if (player.getNumberGood(MyEnum.Goods.lumber) < 1 || player.getAP() < 1) { expand.interactable = false; } storageCapacity.text = player.numberOfResourcesAndGoods().ToString() + "/" + player.GetCurrentWarehouseCapacity().ToString(); int numResources = 11; for (int i = 0; i < numResources; i++) { string name = storage.GetChild(i).name; MyEnum.Resources res = (MyEnum.Resources)System.Enum.Parse(typeof(MyEnum.Resources), name); Text amount = storage.GetChild(i).GetComponentInChildren <Text>(); amount.text = player.getNumberResource(res).ToString(); } int beginGoods = 11; int endOfStoragePanel = 25; for (int i = beginGoods; i < endOfStoragePanel; i++) { string name = storage.GetChild(i).name; MyEnum.Goods good = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), name); Text amount = storage.GetChild(i).GetComponentInChildren <Text>(); amount.text = player.getNumberGood(good).ToString(); } }
public void registerOfferBid(Dropdown dropdown) { Debug.Log("value Changed"); App app = UnityEngine.Object.FindObjectOfType <App>(); int value = Int32.Parse(inputComponent.text); if (value == 0) { return; } int action = dropdown.value; Nation player = State.getNations()[app.GetHumanIndex()]; string itemType = inputComponent.name; MyEnum.Goods good = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), itemType); if (action.Equals(0)) { player.setGoodOfferItem(good, value); Debug.Log("Offer - value is: " + value + " Resource is" + good); } if (action.Equals(1)) { player.setGoodBidItem(good, value); Debug.Log("Bid - value is: " + value + " Resource is" + good); } }
private void cancelProduction() { MyEnum.Goods factoryType = (MyEnum.Goods)System.Enum.Parse(typeof(MyEnum.Goods), goodType.text); App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; int amountToCancel = player.industry.getGoodProducing(factoryType); PlayerReceiver.receiveFromCancelingProduction(player, factoryType, amountToCancel); cancel.transform.localScale = new Vector3(0, 0, 0); cancel.interactable = false; produceGoods.transform.localScale = new Vector3(1, 1, 1); float ableToProduce = player.industry.determineCanProduce(factoryType, player); canProduce.text = ableToProduce.ToString(); factorySlider.maxValue = (float)Math.Floor(ableToProduce); factorySlider.value = 0; Debug.Log("Max slider value: " + factorySlider.maxValue); if (factorySlider.maxValue >= 1 && player.industry.getGoodProducing(factoryType) == 0) { factorySlider.interactable = true; produceGoods.interactable = true; } else { factorySlider.interactable = false; produceGoods.interactable = false; } }
void passOnItem() { if (pass.isOn) { High.interactable = false; Medium.interactable = false; Low.interactable = false; plus.interactable = false; minus.interactable = false; numOffBid.text = "0"; currentItem = MarketHelper.currentItem; if (ress.Contains(currentItem)) { MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); Debug.Log("Clear 100 " + _item.ToString()); revertToZeroResource(_item); MarketHelper.ResourceOfferBid[_item] = MyEnum.marketChoice.pass; } else { MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); revertToZeroGood(_item); MarketHelper.GoodsOfferBid[_item] = MyEnum.marketChoice.pass; } } }
public Signal(MyEnum.marketChoice type, int playerIndex, MyEnum.Resources resource, MyEnum.Goods good, float quality, MyEnum.OffBidLevels offerLevel) { this.type = type; this.ownerIndex = playerIndex; this.resource = resource; this.good = good; this.quality = quality; this.offerLevel = offerLevel; }
void updateGoodsMinus(MyEnum.Goods _item) { if (MarketHelper.GoodsOfferBidAmount[_item] >= 1) { minus.interactable = true; } else { minus.interactable = false; } }
public static bool checkIfCanAffordGood(Nation player, MyEnum.Goods good) { if (player.getGold() - player.getTotalCurrentBiddingCost() < State.market.getPriceOfGood(good)) { return(false); } else { return(true); } }
void registerOffer() { if (offer.isOn) { currentItem = MarketHelper.currentItem; App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; if (ress.Contains(currentItem)) { MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); if (MarketHelper.ResourceOfferBid[_item] == MyEnum.marketChoice.bid) { Debug.Log("Clear 207 " + _item.ToString()); revertToZeroResource(_item); } MarketHelper.ResourceOfferBid[_item] = MyEnum.marketChoice.offer; Debug.Log("Player has " + player.getNumberResource(_item) + " " + _item); if (player.getNumberResource(_item) - MarketHelper.ResourceOfferBidAmount[_item] < 1) { plus.interactable = false; } else { plus.interactable = true; } updateResourceMinus(_item); } else { MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.bid) { revertToZeroGood(_item); } MarketHelper.GoodsOfferBid[_item] = MyEnum.marketChoice.offer; if (player.getNumberGood(_item) - MarketHelper.GoodsOfferBidAmount[_item] < 1) { plus.interactable = false; } else { plus.interactable = true; } updateGoodsMinus(_item); } High.interactable = false; Medium.interactable = false; Low.interactable = false; } }
public float determineCanProduce(MyEnum.Goods good, Nation player) { Dictionary <string, float> costs = ProductionCosts.GetCosts(good); float bottleNeck = 1000f; float nextComponent = 0.0f; float ratio; float materialMod = DetermineMaterialMod(player); foreach (string item in costs.Keys) { if (Enum.IsDefined(typeof(MyEnum.Goods), item)) { MyEnum.Goods itemType = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), item); nextComponent = player.getNumberGood(itemType) * materialMod; ratio = nextComponent / costs[item]; } else { MyEnum.Resources itemType = (MyEnum.Resources)System. Enum.Parse(typeof(MyEnum.Resources), item); nextComponent = player.getNumberResource(itemType) * materialMod; ratio = nextComponent / costs[item]; } if (ratio < bottleNeck) { bottleNeck = ratio; } } int value = 0; int factoryLevel = getFactoryLevel(good); if (factoryLevel == 0) { value = 0; } if (factoryLevel == 1) { value = (int)Math.Min(4, bottleNeck); } if (factoryLevel == 2) { value = (int)Math.Min(8, bottleNeck); } float corruptionFactor = PlayerCalculator.getCorruptionFactor(player); float industrialExpFactor = PlayerCalculator.getIndustrialExperienceFactor(player); /*Later additional modifiers will affect this including: * Corruptuon, happiness, management level, and perhaps some * technologies */ value = (int)(value * corruptionFactor * industrialExpFactor); return(value); }
void registerHigh() { if (ress.Contains(currentItem)) { MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); MarketHelper.ResourceOfferBidLevel[_item] = MyEnum.OffBidLevels.high; } else { MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); MarketHelper.GoodsOfferBidLevel[_item] = MyEnum.OffBidLevels.high;; } }
private void makeGoodWorkshop() { good = (MyEnum.Goods)System.Enum.Parse(typeof(MyEnum.Goods), goodString.text); Debug.Log("Should make " + good.ToString()); App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; player.UseAP(1); player.industry.consumeGoodsMaterial(good, player); player.industry.setGoodProducing(good, 1); Debug.Log("Done"); makeGood.interactable = false; AP.text = player.getAP().ToString(); numberProducing.text = "Producing: " + player.industry.getGoodProducing(good); }
private void upgradeFactory() { { Debug.Log("Upgrade Factory"); Debug.Log("Good Type: " + goodType.text); App app = UnityEngine.Object.FindObjectOfType <App>(); //string type = GetComponentInChildren<Text>().text; // MyEnum.Goods goodType = (MyEnum.Goods)System.Enum.Parse(typeof(MyEnum.Goods), type); factoryType = (MyEnum.Goods)System.Enum.Parse(typeof(MyEnum.Goods), goodType.text); Nation player = State.getNations()[app.GetHumanIndex()]; PlayerPayer.payForFactory(player, factoryType); player.industry.setFactoryLevel(factoryType, player.industry.getFactoryLevel(factoryType) + 1); int factoryLevel = player.industry.getFactoryLevel(factoryType); if (factoryLevel == 1) { factoryLevelImage.sprite = Resources.Load("Sprites/factorySmall", typeof(Sprite)) as Sprite; } if (factoryLevel == 2) { factoryLevelImage.sprite = Resources.Load("Sprites/factoryMedium", typeof(Sprite)) as Sprite; } if (factoryLevel == 3) { factoryLevelImage.sprite = Resources.Load("Sprites/FactoryBig", typeof(Sprite)) as Sprite; } factoryLevelText.text = "Factory Level: " + factoryLevel; // float ableToProduce = player.industry.determineCanProduce(factoryType, player); canProduce.text = "0"; factorySlider.maxValue = 0; AP.text = player.getAP().ToString(); upgrade.interactable = false; produceGoods.interactable = false; int index = getBuildingIndex(); Transform buildingStubb = buildingModel.transform.GetChild(index); Debug.Log("Name of object: " + buildingStubb.name); GameObject building = buildingStubb.GetChild(1).gameObject; building.SetActive(true); // Debug.Log("Name of object: " + cube.name); } }
void revertToZeroGood(MyEnum.Goods good) { App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; Market market = State.market; MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.bid) { player.increaseTotalCurrentBiddingCost(-1 * MarketHelper.GoodsOfferBidAmount[_item] * market.getPriceOfGood(_item)); } MarketHelper.GoodsOfferBidAmount[good] = 0; MarketHelper.GoodsOfferBidLevel[good] = MyEnum.OffBidLevels.medium; numOffBid.text = MarketHelper.GoodsOfferBidAmount[good].ToString(); }
void registerBid() { if (bid.isOn) { App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; Market market = State.market; currentItem = MarketHelper.currentItem; if (ress.Contains(currentItem)) { MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); if (MarketHelper.ResourceOfferBid[_item] == MyEnum.marketChoice.offer) { Debug.Log("Clear 126 " + _item.ToString()); revertToZeroResource(_item); } MarketHelper.ResourceOfferBid[_item] = MyEnum.marketChoice.bid; updateResourceMinus(_item); } else { MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.offer) { revertToZeroGood(_item); } MarketHelper.GoodsOfferBid[_item] = MyEnum.marketChoice.bid; updateGoodsMinus(_item); } if (player.getTotalCurrentBiddingCost() > player.getGold()) { plus.interactable = false; } else { High.interactable = true; Medium.interactable = true; Low.interactable = true; plus.interactable = true; } } }
public void returnGoodsMaterial(MyEnum.Goods good, Nation player) { Dictionary <string, float> costs = ProductionCosts.GetCosts(good); foreach (string item in costs.Keys) { if (Enum.IsDefined(typeof(MyEnum.Goods), item)) { MyEnum.Goods itemType = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), item); player.collectGoods(itemType, costs[item]); } else { MyEnum.Resources itemType = (MyEnum.Resources)System. Enum.Parse(typeof(MyEnum.Resources), item); player.collectResource(itemType, costs[item]); } } }
private void ProduceGoods() { MyEnum.Goods factoryType = (MyEnum.Goods)System.Enum.Parse(typeof(MyEnum.Goods), goodType.text); App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; int amount = (int)factorySlider.value; PlayerPayer.payForFactoryProduction(player, factoryType, amount); player.industry.setGoodProducing(factoryType, amount); AP.text = player.getAP().ToString(); amountToMake.text = player.industry.getGoodProducing(factoryType).ToString(); float ableToProduce = player.industry.determineCanProduce(factoryType, player); factorySlider.interactable = false; produceGoods.interactable = false; produceGoods.transform.localScale = new Vector3(0, 0, 0); cancel.transform.localScale = new Vector3(1, 1, 1); cancel.interactable = true; }
public void consumeGoodsMaterial(MyEnum.Goods good, Nation player) { Debug.Log("Consume materials for " + good.ToString()); Dictionary <string, float> costs = ProductionCosts.GetCosts(good); foreach (string item in costs.Keys) { if (Enum.IsDefined(typeof(MyEnum.Goods), item)) { MyEnum.Goods itemType = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), item); player.consumeGoods(itemType, costs[item]); } else { MyEnum.Resources itemType = (MyEnum.Resources)System. Enum.Parse(typeof(MyEnum.Resources), item); player.consumeResource(itemType, costs[item]); } } }
public void updateAfterBuild(MyEnum.Goods good, int amount) { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; APValue.text = player.getAP().ToString(); producing.text = player.industry.getGoodProducing(good).ToString(); float ableToProduce = player.industry.determineCanProduce(good, player); slider.maxValue = (float)Math.Floor(ableToProduce); if (ableToProduce < 1 || amount > 0) { confirmBuild.interactable = false; } // bool check = CheckIfCanUpgrade(good); // if (check == true) // { // upgradeButton.interactable = true; // upgradeButton.GetComponentInChildren<Text>().text = "Upgraded?"; }
private void updateInventoryPanel() { App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; if (PlayerCalculator.canUpgradeWarehouse(player)) { expandWarehouseButton.interactable = true; } else { expandWarehouseButton.interactable = false; } storageCapacity.text = player.numberOfResourcesAndGoods().ToString() + "/" + player.GetCurrentWarehouseCapacity().ToString(); int numResources = 11; Transform storage = inventoryContent.GetComponent <Transform>(); for (int i = 0; i < numResources; i++) { string name = storage.GetChild(i).name; MyEnum.Resources res = (MyEnum.Resources)System.Enum.Parse(typeof(MyEnum.Resources), name); Text amount = storage.GetChild(i).GetComponentInChildren <Text>(); amount.text = player.getNumberResource(res).ToString(); } int beginGoods = 11; int endOfStoragePanel = 23; for (int i = beginGoods; i < endOfStoragePanel; i++) { string name = storage.GetChild(i).name; MyEnum.Goods good = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), name); Text amount = storage.GetChild(i).GetComponentInChildren <Text>(); amount.text = player.getNumberGood(good).ToString(); } }
private void updateWarehousePanel() { App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; if (player.getNumberGood(MyEnum.Goods.lumber) < 1 || player.getAP() < 1) { expandWarehouse.interactable = false; } storageCapacity.text = player.numberOfResourcesAndGoods().ToString() + "/" + player.GetCurrentWarehouseCapacity().ToString(); int numResources = 11; for (int i = 0; i < numResources; i++) { string name = storage.GetChild(i).name; MyEnum.Resources res = (MyEnum.Resources)System.Enum.Parse(typeof(MyEnum.Resources), name); Text amount = storage.GetChild(i).GetComponentInChildren <Text>(); amount.text = player.getNumberResource(res).ToString(); } int beginGoods = 11; int endOfStoragePanel = 25; for (int i = beginGoods; i < endOfStoragePanel; i++) { string name = storage.GetChild(i).name; MyEnum.Goods good = (MyEnum.Goods)System. Enum.Parse(typeof(MyEnum.Goods), name); Text amount = storage.GetChild(i).GetComponentInChildren <Text>(); amount.text = player.getNumberGood(good).ToString(); } }
public static void receiveFromCancelingProduction(Nation player, MyEnum.Goods good, int amount) { if (amount == 1) { player.addAP(1); } if (amount > 1 && amount <= 4) { player.addAP(2); } if (amount > 4 && amount <= 7) { player.addAP(3); } if (amount > 7) { player.addAP(4); } player.industry.setGoodProducing(good, amount); for (int k = 0; k < amount; k++) { player.industry.returnGoodsMaterial(good, player); } }
public static void payForFactoryProduction(Nation player, MyEnum.Goods good, int amount) { if (amount == 1) { player.UseAP(1); } if (amount > 1 && amount <= 4) { player.UseAP(2); } if (amount > 4 && amount <= 8) { player.UseAP(3); } if (amount > 8) { player.UseAP(4); } player.industry.setGoodProducing(good, amount); for (int k = 0; k < amount; k++) { player.industry.consumeGoodsMaterial(good, player); } }
public void upgradeFactory(MyEnum.Goods good) { this.factories[good] += 1; }
private void selectGood() { App app = UnityEngine.Object.FindObjectOfType <App>(); int humanIndex = app.GetHumanIndex(); Nation player = State.getNations()[humanIndex]; string type = thisGood.name; currentGood.text = type; good = (MyEnum.Goods)System.Enum.Parse(typeof(MyEnum.Goods), type); numberProducing.text = "Producing: " + player.industry.getGoodProducing(good).ToString(); inventory.text = "Inventory: " + player.getNumberGood(good).ToString(); makeGood.interactable = true; if (player.getAP() < 1 || player.industry.getGoodProducing(good) > 0) { makeGood.interactable = false; } if (good == MyEnum.Goods.lumber || good == MyEnum.Goods.parts || good == MyEnum.Goods.arms || good == MyEnum.Goods.fabric || good == MyEnum.Goods.paper) { singleInput.SetActive(true); doubleInput.SetActive(false); product.sprite = Resources.Load("FinishedGoods/" + type, typeof(Sprite)) as Sprite; if (good == MyEnum.Goods.lumber) { materialInput.sprite = Resources.Load("Resource/wood", typeof(Sprite)) as Sprite; if (player.getNumberResource(MyEnum.Resources.wood) < 1) { makeGood.interactable = false; } } if (good == MyEnum.Goods.parts || good == MyEnum.Goods.arms) { materialInput.sprite = Resources.Load("FinishedGoods/steel", typeof(Sprite)) as Sprite; if (player.getNumberGood(MyEnum.Goods.steel) < 1) { makeGood.interactable = false; } } if (good == MyEnum.Goods.fabric) { materialInput.sprite = Resources.Load("Resource/cotton", typeof(Sprite)) as Sprite; if (player.getNumberResource(MyEnum.Resources.cotton) < 1) { makeGood.interactable = false; } } if (good == MyEnum.Goods.paper) { materialInput.sprite = Resources.Load("Resource/wood", typeof(Sprite)) as Sprite; if (player.getNumberResource(MyEnum.Resources.wood) < 1) { makeGood.interactable = false; } } } else { singleInput.SetActive(false); doubleInput.SetActive(true); productD.sprite = Resources.Load("FinishedGoods/" + type, typeof(Sprite)) as Sprite; if (good == MyEnum.Goods.clothing || good == MyEnum.Goods.furniture || good == MyEnum.Goods.steel) { if (good == MyEnum.Goods.clothing) { materialOne.sprite = Resources.Load("FinishedGoods/fabric", typeof(Sprite)) as Sprite; materialOneAmount.text = "0.8"; materialTwo.sprite = Resources.Load("Resource/dyes", typeof(Sprite)) as Sprite; materialTwoAmount.text = "0.2"; } if (good == MyEnum.Goods.furniture) { materialOne.sprite = Resources.Load("FinishedGoods/lumber", typeof(Sprite)) as Sprite; materialOneAmount.text = "0.75"; materialTwo.sprite = Resources.Load("FinishedGoods/fabric", typeof(Sprite)) as Sprite; materialTwoAmount.text = "0.25"; } if (good == MyEnum.Goods.steel) { materialOne.sprite = Resources.Load("Resource/iron", typeof(Sprite)) as Sprite; materialOneAmount.text = "0.67"; materialTwo.sprite = Resources.Load("Resource/coal", typeof(Sprite)) as Sprite; materialTwoAmount.text = "0.33"; } } } }
public static void increaseFactoryLevel(Nation player, MyEnum.Goods good) { player.industry.upgradeFactory(good); }
void viewGoodResource() { plus.interactable = false; minus.interactable = false; offer.isOn = false; bid.isOn = false; High.interactable = false; Medium.interactable = false; Low.interactable = false; Debug.Log("Was clicked"); App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; Market market = State.market; MarketHelper.currentItem = SelectionButton.transform.parent.parent.name; Debug.Log("Grandparent name: " + currentItem); if (ress.Contains(currentItem)) { itemImage.sprite = Resources.Load("Resource/" + currentItem, typeof(Sprite)) as Sprite; MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); numOffBid.text = MarketHelper.ResourceOfferBidAmount[_item].ToString(); if (State.turn > 1) { offeredLastTurn.text = "Offered Last Turn: " + market.getNumberOfResourcesOffered(_item).ToString(); soldLastTurn.text = "Sold Last Turn: " + market.getNumberResourcesSold(_item).ToString(); } else { offeredLastTurn.text = "Offered Last Turn: 0"; soldLastTurn.text = "Sold Last Turn: 0"; } priceHistory = market.getResourcePriceHistory(_item); } else { itemImage.sprite = Resources.Load("FinishedGoods/" + currentItem, typeof(Sprite)) as Sprite; MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); numOffBid.text = MarketHelper.GoodsOfferBidAmount[_item].ToString(); if (State.turn > 1) { offeredLastTurn.text = "Offered Last Turn: " + market.getNumberGoodsOffered(_item).ToString(); soldLastTurn.text = "Sold Last Turn: " + market.getNumberOfGoodsSoldLastTurn(_item).ToString(); priceHistory = market.getGoodPriceHistory(_item); } else { offeredLastTurn.text = "Offered Last Turn: 0"; soldLastTurn.text = "Sold Last Turn: 0"; } priceHistory = market.getGoodPriceHistory(_item); } GameObject history = dataDiagram.AddLine(player.getName(), player.getColor()); for (int i = 0; i < priceHistory.Count; i++) { dataDiagram.InputPoint(history, new Vector2(i, priceHistory[i])); } }
void subtractAmount() { App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; Market market = State.market; int turn = State.turn; float cost; if (ress.Contains(currentItem)) { MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); if (MarketHelper.ResourceOfferBidAmount[_item] > 0) { MarketHelper.ResourceOfferBidAmount[_item] -= 1; if (MarketHelper.ResourceOfferBid[_item] == MyEnum.marketChoice.bid) { cost = market.getPriceOfResource(_item); player.increaseTotalCurrentBiddingCost(-cost); Debug.Log("Current Bid Cost " + player.getTotalCurrentBiddingCost()); if (player.getTotalCurrentBiddingCost() < player.getGold()) { plus.interactable = true; } } else if (MarketHelper.ResourceOfferBid[_item] == MyEnum.marketChoice.offer) { if (MarketHelper.ResourceOfferBidAmount[_item] < player.getNumberResource(_item)) { plus.interactable = true; } updateResourceMinus(_item); } } else { minus.enabled = false; } numOffBid.text = MarketHelper.ResourceOfferBidAmount[_item].ToString(); } else { MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); if (MarketHelper.GoodsOfferBidAmount[_item] > 0) { MarketHelper.GoodsOfferBidAmount[_item] -= 1; if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.bid) { if (turn > 1) { cost = market.getPriceOfGood(_item); } else { cost = 5; } player.increaseTotalCurrentBiddingCost(-cost); if (player.getTotalCurrentBiddingCost() > player.getGold()) { plus.interactable = true; } updateGoodsMinus(_item); } } if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.offer) { if (player.getNumberGood(_item) - MarketHelper.GoodsOfferBidAmount[_item] >= 1) { plus.interactable = true; } else { plus.interactable = false; } updateGoodsMinus(_item); } numOffBid.text = MarketHelper.GoodsOfferBidAmount[_item].ToString(); } }
void addAmount() { Debug.Log("Adding..."); App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; Market market = State.market; int turn = State.turn; float cost; if (ress.Contains(currentItem)) { MyEnum.Resources _item = (MyEnum.Resources)Enum.Parse(typeof(MyEnum.Resources), currentItem); MarketHelper.ResourceOfferBidAmount[_item] += 1; Debug.Log("166 " + MarketHelper.ResourceOfferBidAmount[_item]); numOffBid.text = MarketHelper.ResourceOfferBidAmount[_item].ToString(); Debug.Log("Res off bid " + MarketHelper.ResourceOfferBid[_item]); if (MarketHelper.ResourceOfferBid[_item] == MyEnum.marketChoice.bid) { if (turn > 1) { cost = market.getPriceOfResource(_item); } else { cost = 3; } player.increaseTotalCurrentBiddingCost(cost); Debug.Log("Current Bid Cost " + player.getTotalCurrentBiddingCost()); if (player.getTotalCurrentBiddingCost() + cost > player.getGold()) { plus.interactable = false; } else { plus.interactable = true; } updateResourceMinus(_item); } else if (MarketHelper.ResourceOfferBid[_item] == MyEnum.marketChoice.offer) { Debug.Log("Player has " + player.getNumberResource(_item).ToString()); Debug.Log("Player has offered " + MarketHelper.ResourceOfferBidAmount[_item]); if (player.getNumberResource(_item) - MarketHelper.ResourceOfferBidAmount[_item] < 1) { plus.interactable = false; } else { plus.interactable = true; } updateResourceMinus(_item); } } else { MyEnum.Goods _item = (MyEnum.Goods)Enum.Parse(typeof(MyEnum.Goods), currentItem); MarketHelper.GoodsOfferBidAmount[_item] += 1; Debug.Log("156 " + MarketHelper.GoodsOfferBidAmount[_item]); numOffBid.text = MarketHelper.GoodsOfferBidAmount[_item].ToString(); if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.bid) { if (turn > 1) { cost = market.getPriceOfGood(_item); } else { cost = 5; } player.increaseTotalCurrentBiddingCost(cost); Debug.Log("Current Bid Cost " + player.getTotalCurrentBiddingCost()); if (player.getTotalCurrentBiddingCost() > player.getGold()) { plus.interactable = false; } else { plus.interactable = true; } Debug.Log("Bid Amount " + MarketHelper.GoodsOfferBidAmount[_item]); updateGoodsMinus(_item); } else if (MarketHelper.GoodsOfferBid[_item] == MyEnum.marketChoice.offer) { Debug.Log("Player has " + player.getNumberGood(_item).ToString()); Debug.Log("Player has offered " + MarketHelper.GoodsOfferBidAmount[_item]); Debug.Log("Current Bid Cost " + player.getTotalCurrentBiddingCost()); if (player.getNumberGood(_item) - MarketHelper.GoodsOfferBidAmount[_item] < 1) { plus.interactable = false; } else { plus.interactable = true; } updateGoodsMinus(_item); } } }