public static int CalcMinTimeForAimerToHitAimee(TankStateInfo aimingTankInfo, TankStateInfo aimeeTankInfo, List <WeaponPart> aimerWeapons, out WeaponPart outWeapon) { int minTime = 99999; outWeapon = null; foreach (WeaponPart weapon in aimerWeapons) { Vector2 fireVec = weapon.OwningTank.Hull.Schematic.OrigWeaponDirs[weapon.EquipIdx].Rotate(aimingTankInfo.Rot); int time = convertFloatSecondToIntCentiSecond(AIUtility.CalcTimeToHitPos(aimingTankInfo.Pos, fireVec, aimingTankInfo, weapon.Schematic, aimeeTankInfo.Pos) + weapon.CalcTimeToReloaded()); if (time < minTime) { minTime = time; outWeapon = weapon; } } return(minTime); }