Skip to content

Instantly share code, notes, and snippets.

@Pan-Maciek
Created August 11, 2016 22:03
Show Gist options
  • Save Pan-Maciek/ed125aa38d8d77497234bfddbbe8ce11 to your computer and use it in GitHub Desktop.
Save Pan-Maciek/ed125aa38d8d77497234bfddbbe8ce11 to your computer and use it in GitHub Desktop.
private void Generate<T>() {
if (seed != 0) Random.seed = seed;
else seed = Random.seed;
int i = 0;
do {
Vector3 centerOfUniverse;
if (i == 0) {
centerOfUniverse = Vector3.zero;
} else {
float distanceFromCenter = 2 * radiusOfUniverses * i + margin;
centerOfUniverse = randomCoordinates(Vector3.zero, distanceFromCenter: distanceFromCenter);
}
float diameter = radiusOfUniverses * 2;
T obj = ((GameObject)Instantiate(UniversePrefab, centerOfUniverse, Quaternion.Euler(new Vector3()))).GetComponent<Universe>();
typeof(T).GetField("gridPosition").SetValue(obj, centerOfUniverse);
typeof(T).GetField("transform").GetType().GetProperty("localScale").SetValue(obj, Vector3.one * diameter);
typeof(T).GetField("radiusOfUniverse").SetValue(obj, radiusOfUniverses);
generateGalaxies(centerOfUniverse, radiusOfUniverses);
i++;
} while (i != numberOfUniverse);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment