Example #1
0
    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 }) }));
    }
Example #2
0
 public void setValue(Upgrade u)
 {
     this.u           = u;
     this.uc          = null;
     upgradeName.text = u.name;
     costText.text    = "Cost: " + u.cost;
 }
Example #3
0
 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();
 }
Example #6
0
        /// <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);
        }
Example #7
0
    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); });
        }
    }
Example #8
0
 /// <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);
     }
 }
Example #9
0
    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());
        }
    }
Example #10
0
        /// <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;
                        }
                    }
                }
            }
        }