Example #1
0
        public void TryInstallUpgrade(GenericUpgrade upgrade)
        {
            List <UpgradeSlot> freeSlots = GetFreeSlots(upgrade.UpgradeInfo.UpgradeTypes);

            if (freeSlots.Count != upgrade.UpgradeInfo.UpgradeTypes.Count)
            {
                Debug.Log("No free slot: " + upgrade.getTypesAsString());
            }
            else
            {
                for (int i = 0; i < freeSlots.Count; i++)
                {
                    UpgradeSlot freeSlot = freeSlots [i];
                    for (int j = 0; j < upgrade.UpgradeInfo.UpgradeTypes.Count; j++)
                    {
                        UpgradeType type = upgrade.UpgradeInfo.UpgradeTypes[j];
                        if (type == freeSlot.Type)
                        {
                            freeSlot.TryInstallUpgrade(upgrade, HostShip);
                            break;
                        }
                    }
                }
            }
        }
Example #2
0
        public void TryInstallUpgrade(GenericUpgrade upgrade)
        {
            UpgradeSlot freeSlot = GetFreeSlot(upgrade.Type);

            if (freeSlot != null)
            {
                freeSlot.TryInstallUpgrade(upgrade, Host);
            }
            else
            {
                Debug.Log("No free slot: " + upgrade.Type);
            }
        }