public KethaneDeposits(CelestialBody CBody) { Width = 2.0f * (float)Math.PI * (float)CBody.Radius; Height = Width / 2.0f; Name = CBody.name; int DepositCount = (CBody.name == "Kerbin" ? 15 : 20) + (CBody.name == "Mun" ? 7 : -3); int NumberOfTries = 25; float MinRadius = (CBody.name == "Kerbin" ? 0.25f : 0.45f) * Width * 0.045f; float MaxRadius = Width * 0.045f * (CBody.name == "Minmus" ? 0.8f : 1); for (int i = 0; i < DepositCount; i++) { KethaneDeposit Deposit = new KethaneDeposit(); float R = UnityEngine.Random.Range(MinRadius, MaxRadius); for (int j = 0; j < NumberOfTries; j++) { Vector3 Pos = new Vector3(UnityEngine.Random.Range(R, Width - R), 0, UnityEngine.Random.Range(R, Height - R)); if (IsPositionOK(Pos, R)) { Deposit.Generate(Pos, R); Deposits.Add(Deposit); break; } } } }