private void unitList_SelectedIndexChanged(object sender, EventArgs e) { weaponDropdown.SelectedItem = null; String selectedUnit = unitList.GetItemText(unitList.SelectedItem); if (unitDatabase.setQueryTarget(selectedUnit)) { weaponDropdown.DataSource = unitDatabase.getWeapons(); weaponDropdownSimple.DataSource = weaponDropdown.DataSource; Weapon lockedWeapon = unitDatabase.tryGetLockIndexedWeapon(); if (lockedWeapon != null) { weaponDropdown.SelectedItem = lockedWeapon; } // Controls common to all tabs --- #region priceFieldSimple.Text = unitDatabase.getPrice(); priceFieldFirepower.Text = unitDatabase.getPrice(); priceFieldRecon.Text = unitDatabase.getPrice(); priceFieldMobility.Text = unitDatabase.getPrice(); priceFieldSurvivability.Text = unitDatabase.getPrice(); nameFieldSimple.Text = unitDatabase.getUnitName(); nameFieldFirepower.Text = unitDatabase.getUnitName(); nameFieldRecon.Text = unitDatabase.getUnitName(); nameFieldMobility.Text = unitDatabase.getUnitName(); nameFieldSurvivability.Text = unitDatabase.getUnitName(); if (unitDatabase.isPrototype()) { prototypeLabelSimple.Show(); prototypeLabelFirepower.Show(); prototypeLabelRecon.Show(); prototypeLabelMobility.Show(); prototypeLabelSurvivability.Show(); } else { prototypeLabelSimple.Hide(); prototypeLabelFirepower.Hide(); prototypeLabelRecon.Hide(); prototypeLabelMobility.Hide(); prototypeLabelSurvivability.Hide(); } unitCardField.Image = unitDatabase.getUnitCard(); unitCardFieldFirepower.Image = unitCardField.Image; unitCardFieldRecon.Image = unitCardField.Image; unitCardFieldMobility.Image = unitCardField.Image; unitCardFieldSurvivability.Image = unitCardField.Image; // Flag: #region Bitmap img = null; switch (selectedUnit.Substring(0, 3)) { case "ANZ": img = Properties.Resources.ANZAC; break; case "CAN": img = Properties.Resources.CAN; break; case "CHI": img = Properties.Resources.PRC; break; case "DAN": img = Properties.Resources.DEN; break; case "FIN": img = Properties.Resources.FIN; break; case "FR ": img = Properties.Resources.FRA; break; case "HOL": img = Properties.Resources.NED; break; case "ISR": img = Properties.Resources.ISR; break; case "JAP": img = Properties.Resources.JAP; break; case "NK ": img = Properties.Resources.DPRK; break; case "NOR": img = Properties.Resources.NOR; break; case "POL": img = Properties.Resources.POL; break; case "RDA": img = Properties.Resources.DDR; break; case "RFA": img = Properties.Resources.BRD; break; case "ROK": img = Properties.Resources.ROK; break; case "SWE": img = Properties.Resources.SWE; break; case "TCH": img = Properties.Resources.CZS; break; case "UK ": img = Properties.Resources.UK; break; case "URS": img = Properties.Resources.USSR; break; case "US ": img = Properties.Resources.USA; break; case "YUG": img = Properties.Resources.YU; break; default: break; } flagSimple.Image = img; flagFirepower.Image = flagSimple.Image; flagRecon.Image = flagSimple.Image; flagMobility.Image = flagSimple.Image; flagSurvivability.Image = flagSimple.Image; #endregion // Availability: #region String[] availability = unitDatabase.getMaxDeployableAmount(); bool hasRookie = availability[0] != "0"; bool hasTrained = availability[1] != "0"; bool hasHardened = availability[2] != "0"; bool hasVeteran = availability[3] != "0"; bool hasElite = availability[4] != "0"; if (hasRookie) { noRookieImageFirepower.Hide(); noRookieImageSimple.Hide(); noRookieImageRecon.Hide(); noRookieImageMobility.Hide(); noRookieImageSurvivability.Hide(); yesRookieImageFirepower.Show(); yesRookieImageSimple.Show(); yesRookieImageRecon.Show(); yesRookieImageMobility.Show(); yesRookieImageSurvivability.Show(); rookieFieldFirepower.Text = availability[0]; rookieFieldSimple.Text = rookieFieldFirepower.Text; rookieFieldRecon.Text = rookieFieldFirepower.Text; rookieFieldMobility.Text = rookieFieldFirepower.Text; rookieFieldSurvivability.Text = rookieFieldFirepower.Text; } else { noRookieImageFirepower.Show(); noRookieImageSimple.Show(); noRookieImageRecon.Show(); noRookieImageMobility.Show(); noRookieImageSurvivability.Show(); yesRookieImageFirepower.Hide(); yesRookieImageSimple.Hide(); yesRookieImageRecon.Hide(); yesRookieImageMobility.Hide(); yesRookieImageSurvivability.Hide(); rookieFieldFirepower.Text = ""; rookieFieldSimple.Text = rookieFieldFirepower.Text; rookieFieldRecon.Text = rookieFieldFirepower.Text; rookieFieldMobility.Text = rookieFieldFirepower.Text; rookieFieldSurvivability.Text = rookieFieldFirepower.Text; } if (hasTrained) { noTrainedImageFirepower.Hide(); noTrainedImageSimple.Hide(); noTrainedImageRecon.Hide(); noTrainedImageMobility.Hide(); noTrainedImageSurvivability.Hide(); yesTrainedImageFirepower.Show(); yesTrainedImageSimple.Show(); yesTrainedImageRecon.Show(); yesTrainedImageMobility.Show(); yesTrainedImageSurvivability.Show(); trainedFieldFirepower.Text = availability[1]; trainedFieldSimple.Text = trainedFieldFirepower.Text; trainedFieldRecon.Text = trainedFieldFirepower.Text; trainedFieldMobility.Text = trainedFieldFirepower.Text; trainedFieldSurvivability.Text = trainedFieldFirepower.Text; } else { noTrainedImageFirepower.Show(); noTrainedImageSimple.Show(); noTrainedImageRecon.Show(); noTrainedImageMobility.Show(); noTrainedImageSurvivability.Show(); yesTrainedImageFirepower.Hide(); yesTrainedImageSimple.Hide(); yesTrainedImageRecon.Hide(); yesTrainedImageMobility.Hide(); yesTrainedImageSurvivability.Hide(); trainedFieldFirepower.Text = ""; trainedFieldSimple.Text = trainedFieldFirepower.Text; trainedFieldRecon.Text = trainedFieldFirepower.Text; trainedFieldMobility.Text = trainedFieldFirepower.Text; trainedFieldSurvivability.Text = trainedFieldFirepower.Text; } if (hasHardened) { noHardenedImageFirepower.Hide(); noHardenedImageSimple.Hide(); noHardenedImageRecon.Hide(); noHardenedImageMobility.Hide(); noHardenedImageSurvivability.Hide(); yesHardenedImageFirepower.Show(); yesHardenedImageSimple.Show(); yesHardenedImageRecon.Show(); yesHardenedImageMobility.Show(); yesHardenedImageSurvivability.Show(); hardenedFieldFirepower.Text = availability[2]; hardenedFieldSimple.Text = hardenedFieldFirepower.Text; hardenedFieldRecon.Text = hardenedFieldFirepower.Text; hardenedFieldMobility.Text = hardenedFieldFirepower.Text; hardenedFieldSurvivability.Text = hardenedFieldFirepower.Text; } else { noHardenedImageFirepower.Show(); noHardenedImageSimple.Show(); noHardenedImageRecon.Show(); noHardenedImageMobility.Show(); noHardenedImageSurvivability.Show(); yesHardenedImageFirepower.Hide(); yesHardenedImageSimple.Hide(); yesHardenedImageRecon.Hide(); yesHardenedImageMobility.Hide(); yesHardenedImageSurvivability.Hide(); hardenedFieldFirepower.Text = ""; hardenedFieldSimple.Text = hardenedFieldFirepower.Text; hardenedFieldRecon.Text = hardenedFieldFirepower.Text; hardenedFieldMobility.Text = hardenedFieldFirepower.Text; hardenedFieldSurvivability.Text = hardenedFieldFirepower.Text; } if (hasVeteran) { noVeteranImageFirepower.Hide(); noVeteranImageSimple.Hide(); noVeteranImageRecon.Hide(); noVeteranImageMobility.Hide(); noVeteranImageSurvivability.Hide(); yesVeteranImageFirepower.Show(); yesVeteranImageSimple.Show(); yesVeteranImageRecon.Show(); yesVeteranImageMobility.Show(); yesVeteranImageSurvivability.Show(); veteranFieldFirepower.Text = availability[3]; veteranFieldSimple.Text = veteranFieldFirepower.Text; veteranFieldRecon.Text = veteranFieldFirepower.Text; veteranFieldMobility.Text = veteranFieldFirepower.Text; veteranFieldSurvivability.Text = veteranFieldFirepower.Text; } else { noVeteranImageFirepower.Show(); noVeteranImageSimple.Show(); noVeteranImageRecon.Show(); noVeteranImageMobility.Show(); noVeteranImageSurvivability.Show(); yesVeteranImageFirepower.Hide(); yesVeteranImageSimple.Hide(); yesVeteranImageRecon.Hide(); yesVeteranImageMobility.Hide(); yesVeteranImageSurvivability.Hide(); veteranFieldFirepower.Text = ""; veteranFieldSimple.Text = veteranFieldFirepower.Text; veteranFieldRecon.Text = veteranFieldFirepower.Text; veteranFieldMobility.Text = veteranFieldFirepower.Text; veteranFieldSurvivability.Text = veteranFieldFirepower.Text; } if (hasElite) { noEliteImageFirepower.Hide(); noEliteImageSimple.Hide(); noEliteImageRecon.Hide(); noEliteImageMobility.Hide(); noEliteImageSurvivability.Hide(); yesEliteImageFirepower.Show(); yesEliteImageSimple.Show(); yesEliteImageRecon.Show(); yesEliteImageMobility.Show(); yesEliteImageSurvivability.Show(); eliteFieldFirepower.Text = availability[4]; eliteFieldSimple.Text = eliteFieldFirepower.Text; eliteFieldRecon.Text = eliteFieldFirepower.Text; eliteFieldMobility.Text = eliteFieldFirepower.Text; eliteFieldSurvivability.Text = eliteFieldFirepower.Text; } else { noEliteImageFirepower.Show(); noEliteImageSimple.Show(); noEliteImageRecon.Show(); noEliteImageMobility.Show(); noEliteImageSurvivability.Show(); yesEliteImageFirepower.Hide(); yesEliteImageSimple.Hide(); yesEliteImageRecon.Hide(); yesEliteImageMobility.Hide(); yesEliteImageSurvivability.Hide(); eliteFieldFirepower.Text = ""; eliteFieldSimple.Text = eliteFieldFirepower.Text; eliteFieldRecon.Text = eliteFieldFirepower.Text; eliteFieldMobility.Text = eliteFieldFirepower.Text; eliteFieldSurvivability.Text = eliteFieldFirepower.Text; } #endregion // END common controls -------------- #endregion // Controls from Survivability tab ------ #region topArmorField.Text = unitDatabase.getTopArmor(); sideArmorField.Text = unitDatabase.getSideArmor(); rearArmorField.Text = unitDatabase.getRearArmor(); frontArmorField.Text = unitDatabase.getFrontArmor(); healthField.Text = unitDatabase.getHealth(); ecmField.Text = unitDatabase.getECM(); sizeField.Text = unitDatabase.getSize(); maxSuppressionDamagesField.Text = unitDatabase.getMaxSuppressionDamages(); stunDamagesRegenField.Text = unitDatabase.getStunDamagesRegen(); stunDamagesToGetStunnedField.Text = unitDatabase.getStunDamagesToGetStunned(); suppressDamagesRegenRatioField.Text = unitDatabase.getSuppressDamagesRegenRatio(); suppressDamagesRegenRatioOutOfRangeField.Text = unitDatabase.getSuppressDamagesRegenRatioOutOfRange(); // suppression effects paliersSuppressDamagesField.Text = unitDatabase.getPaliersSuppressDamages(); infAndCanonSpeedModifierField.Text = unitDatabase.getSuppressDamagesInfAndCanonSpeedModifier(); infAndCanonDispersionModifierField.Text = unitDatabase.getSuppressDamagesInfAndCanonDispersionModifier(); infDamagesMultiplierField.Text = unitDatabase.getSuppressDamagesInfDamagesMultiplier(); infFiringRateMultiplierField.Text = unitDatabase.getSuppressDamagesInfFiringRateMultiplier(); canonFiringRateMultiplierField.Text = unitDatabase.getSuppressDamagesCanonFiringRateMultiplier(); vehiculeFiringRateMultiplierField.Text = unitDatabase.getSuppressDamagesVehiculeFiringRateMultiplier(); vehiculeDispersionMultiplierField.Text = unitDatabase.getSuppressDamagesVehiculeDispersionMultiplier(); artilleryDispersionMultiplierField.Text = unitDatabase.getSuppressDamagesArtilleryDispersionMultiplier(); hitModifierField.Text = unitDatabase.getSuppressDamagesHitModifier(); // physical damage effects paliersPhysicalDamagesField.Text = unitDatabase.getPaliersPhysicalDamages(); cannonFiringRateMultiplierField.Text = unitDatabase.getPhysicalDamagesCannonFiringRateMultiplier(); vehiculeSpeedField.Text = unitDatabase.getPhysicalDamagesVehiculeSpeedModifier(); vehiculeFiringRateField.Text = unitDatabase.getPhysicalDamagesVehiculeFiringRateMultiplier(); chassisRotationSpeedField.Text = unitDatabase.getPhysicalDamagesVehiculeChassisRotationSpeedModifier(); turretRotationSpeedField.Text = unitDatabase.getPhysicalDamagesVehiculeTurretRotationSpeedModifier(); // END Survivability controls ----------- #endregion // Controls from Recon tab ---------- #region groundOpticsField.Text = unitDatabase.getGroundOptics(); airOpticsField.Text = unitDatabase.getAirOptics(); timeBetweenEachIdentifyRollField.Text = unitDatabase.getTimeBetweenEachIdentifyRoll(); identifyBaseProbabilityField.Text = unitDatabase.getIdentifyBaseProbability(); stealthField.Text = unitDatabase.getStealth(); detectionTbaField.Text = unitDatabase.getAntiheloSpottingCap(); porteeVisionField.Text = unitDatabase.getAntigroundSpottingCap(); porteeVisionTbaField.Text = unitDatabase.getAntigroundSpottingCapWhileFlying(); opticalStrengthAntiRadarField.Text = unitDatabase.getOpticalStrengthAntiRadar(); unitTypeField.Text = unitDatabase.getUnitType(); killExperienceBonusField.Text = unitDatabase.getKillExperienceBonus(); specializedDetection4Field.Text = unitDatabase.getAntiplaneSpottingCap(); // END recon controls --------------- #endregion // Controls from mobility tab ------- #region speedField.Text = unitDatabase.getSpeed(); fuelField.Text = unitDatabase.getFuel(); autonomyField.Text = unitDatabase.getAutonomy(); tempsDemiTourField.Text = unitDatabase.getTempsDemiTour(); maxAccelerationField.Text = unitDatabase.getMaxAcceleration(); maxDecelerationField.Text = unitDatabase.getMaxDeceleration(); unitMovingTypeField.Text = unitDatabase.getUnitMovingType(); vehicleSubTypeField.Text = unitDatabase.getVehicleSubType(); suppressDamageRatioIfTransporterKilledField.Text = unitDatabase.getSuppressDamageRatioIfTransporterKilled(); wreckUnloadPhysicalDamageBonusField.Text = unitDatabase.getWreckUnloadPhysicalDamageBonus(); wreckUnloadStunDamageBonusField.Text = unitDatabase.getWreckUnloadStunDamageBonus(); wreckUnloadSuppressDamageBonusField.Text = unitDatabase.getWreckUnloadSuppressDamageBonus(); flyingAltitudeField.Text = unitDatabase.getFlyingAltitude(); minimalAltitudeField.Text = unitDatabase.getMinimalAltitude(); supplyCapacityField.Text = unitDatabase.getSupplyCapacity(); lowAltitudeFlyingAltitudeField.Text = unitDatabase.getLowAltitudeFlyingAltitude(); nearGroundFlyingAltitudeField.Text = unitDatabase.getNearGroundFlyingAltitude(); // END mobility controls ------------ #endregion // Controls from simple tab --------- #region healthFieldSimple.Text = healthField.Text; groundOpticsFieldSimple.Text = groundOpticsField.Text; airOpticsFieldSimple.Text = airOpticsField.Text; stealthFieldSimple.Text = stealthField.Text; ecmFieldSimple.Text = ecmField.Text; sizeFieldSimple.Text = sizeField.Text; speedFieldSimple.Text = speedField.Text; autonomyFieldSimple.Text = autonomyField.Text; frontArmorFieldSimple.Text = frontArmorField.Text; sideArmorFieldSimple.Text = sideArmorField.Text; rearArmorFieldSimple.Text = rearArmorField.Text; topArmorFieldSimple.Text = topArmorField.Text; altitudeFieldSimple.Text = flyingAltitudeField.Text; supplyCapacityFieldSimple.Text = supplyCapacityField.Text; // END simple controls -------------- #endregion } else { Program.warning("The unit you selected was not found. This should never happen."); } }