public static UpgradeContainer firstContainer() { UpgradeContainer bar = new UpgradeContainer("Barracks", new Upgrade[] { new Upgrade("Increase Size", "Increase the size of your barracks allowing more characters to sleep there.", 100) }); UpgradeContainer kit = new UpgradeContainer("Kitchen", new Upgrade[] { new Upgrade("Improve Storage", "Allows less food to go to waste.", 200), new Upgrade("Improve Water Collection", "Allows less water to go to waste.", 300) }); return(new UpgradeContainer("first", new UpgradeContainer[] { new UpgradeContainer("Buildings", new UpgradeContainer[] { bar, kit }) })); }
public void setValue(Upgrade u) { this.u = u; this.uc = null; upgradeName.text = u.name; costText.text = "Cost: " + u.cost; }
public void setValue(UpgradeContainer uc) { this.u = null; this.uc = uc; upgradeName.text = uc.name; costText.text = ""; }
void Start() { if (first) { setDisplay(UpgradeContainer.firstContainer()); } }
public void setDisplay(UpgradeContainer uc) { foreach (Transform child in children) { Destroy(child.gameObject); } display = uc; children = new List <Transform>(); displayInfo(); }
/// <summary> /// Constructor. /// </summary> public Cable() { CurrentPowerState = PowerState.On; Top = new EnergyPort(); Bottom = new EnergyPort(); Right = new EnergyPort(); Left = new EnergyPort(); _ports = new[] { Top, Right, Bottom, Left }; UpgradeContainer = new UpgradeContainer(this, 5); }
public void populateStore() { for (int i = 0; i < possibleUpgrades.Length; i++) { GameObject obj = Instantiate(upgradeItemPrefab, upgradeParent); obj.name = possibleUpgrades[i].upgradeName; UpgradeContainer uc = obj.GetComponent <UpgradeContainer>(); uc.configurePrefab(possibleUpgrades[i]); uc.getBuyButton().onClick.AddListener(delegate { buyUpgrade(uc.currentUpgrade, uc); }); } }
/// <summary> /// Checks if the given <paramref name="packet"/> /// can be used as the <see cref="CurrentPacket"/>. /// </summary> /// <param name="packet">Packet to check.</param> /// <returns>True if the <paramref name="packet"/> can /// be used, false if not.</returns> private bool CanAcceptPacket(Packet packet) { if (CurrentPacket == null) { return(packet.Cargo <= MaxPacketSize); } else if (UpgradeContainer.ContainsUpdateOfType <CombinePacketUpgrade>()) { return(packet.Cargo + CurrentPacket.Cargo <= MaxPacketSize); } else { return(false); } }
public void buyUpgrade(UpgradeItem _itemToPurchase, UpgradeContainer _uc) { int lungCost = _itemToPurchase.lungCost, liverCost = _itemToPurchase.liverCost, kidneyCost = _itemToPurchase.kidneyCost, heartCost = _itemToPurchase.heartCost; GameController gc = GameController.instance; if (((gc.getLungAmount() > 0) && (gc.getLungAmount() - lungCost >= 0)) && ((gc.getLiverAmount() > 0) && (gc.getLiverAmount() - liverCost >= 0)) && ((gc.getKidneyAmount() > 0) && (gc.getKidneyAmount() - kidneyCost >= 0)) && ((gc.getHeartAmount() > 0) && (gc.getHeartAmount() - heartCost >= 0))) { PlayerController pc = GameController.instance.currentPlayer.GetComponent <PlayerController>(); switch (_itemToPurchase.upgradeName) { case "Extra Life": pc.upgradePlayer(_itemToPurchase.upgradeName); break; case "Double Shot": pc.upgradePlayer(_itemToPurchase.upgradeName); _uc.getBuyButton().onClick.RemoveAllListeners(); _uc.getBuyButton().interactable = false; GameController.instance.createUpgradeIcon(_itemToPurchase.upgradeIcon); break; case "Speed Boost": pc.upgradePlayer(_itemToPurchase.upgradeName); _uc.getBuyButton().onClick.RemoveAllListeners(); _uc.getBuyButton().interactable = false; GameController.instance.createUpgradeIcon(_itemToPurchase.upgradeIcon); break; case "Steel Heart": break; } subtractAmounts(lungCost, liverCost, kidneyCost, heartCost); } else { //Debug.Log("Not enough organs! Lungs: " + gc.getLungAmount() + ", Liver: " + gc.getLiverAmount() + ", Kidney: " + gc.getKidneyAmount() + ", Heart: " + gc.getHeartAmount()); } }
/// <summary> /// Receives data from input ports /// and sends data to output ports. /// </summary> public void Update() { if (CurrentPowerState == PowerState.Off) { return; } foreach (var port in _ports) { if (port.CurrentIOMode == IOMode.Input) { if (port.ReceiveBuffer != null) { if (CanAcceptPacket((Packet)port.ReceiveBuffer)) { if (UpgradeContainer.ContainsUpdateOfType <CombinePacketUpgrade>()) { CurrentPacket = CurrentPacket.Combine((Packet)port.CollectReceivedData()); } else { CurrentPacket = (Packet)port.CollectReceivedData(); } } } } else if (port.CurrentIOMode == IOMode.Output) { if (CurrentPacket != null) { if (port.Send(CurrentPacket)) { CurrentPacket = null; } } } } }