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; } } } } }
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); } }