public static void GenerateStars(GlobalConstants.GalaxySize GalaxySize, GlobalConstants.GalaxyType GalaxyType) { SizeEnum = GalaxySize; GalaxyTypeEnum = GalaxyType; SetGalaxyRadiusAndStarCountByGalazySize(SizeEnum); Engine.Instance.WriteToConsole("Generating galaxy!"); Engine.Instance.WriteToConsole("Galaxy size: " + SizeEnum + "; Galaxy type: " + GalaxyTypeEnum); Engine.Instance.WriteToConsole("Star count: " + StarCount.ToString()); Engine.Instance.WriteToConsole(""); List <Star> arrStars = new List <Star>(); ContinuousUniform StarRadiusGen = new ContinuousUniform(2, 16.3); for (int i = 0; i < StarCount; i++) { float fltStarRad = (float)StarRadiusGen.Sample(); bool blnShouldCreateStar = true; Vector2f StarPosition = new Vector2f(0, 0); if (GalaxyTypeEnum == GlobalConstants.GalaxyType.DISK) { StarPosition = GetStarCoordinatesForElipticalGalaxy(ref arrStars, out blnShouldCreateStar); } else if (GalaxyTypeEnum == GlobalConstants.GalaxyType.RING) { StarPosition = GetStarCoordinatesForRingGalaxy(ref arrStars, out blnShouldCreateStar); } else { StarPosition = GetStarCoordinatesForElipticalGalaxy(ref arrStars, out blnShouldCreateStar); } if (blnShouldCreateStar && StarPosition.X != 0 && StarPosition.Y != 0) { Star objStar = new Star(fltStarRad, StarPosition, 1); arrStars.Add(objStar); } Engine.Instance.WriteToConsole("Stars generated: " + i.ToString(), true, false, false); } Stars = arrStars.ToArray(); HomeStarIndex = random.Next(0, Stars.Length - 1); while (Stars[HomeStarIndex].HasPanets == false) { if (Stars[HomeStarIndex].HasPanets == true) { Stars[HomeStarIndex].Home = true; Stars[HomeStarIndex].HasPlayer = true; } else { HomeStarIndex = random.Next(0, Stars.Length - 1); } } }
public void UpdateUI() { StarText.text = StarCount.ToString(); CoinText.text = CoinCount.ToString(); }