public static StellarSystem Generate(int x, int y) { var output = new StellarSystem(); output.X = x; output.Y = y; output.SystemNature = SystemNatureGenerator.Generate(); //Add Primary output.Stars.Add(StarGenerator.Generate(1)); //Add Secondary Star if (output.SystemNature == SystemNature.Binary || output.SystemNature == SystemNature.Trinary) { output.Stars.Add(StarGenerator.Generate(2)); } //Add Third Star if (output.SystemNature == SystemNature.Trinary) { output.Stars.Add(StarGenerator.Generate(3)); } return(output); }
public static StellarSystem Generate(int x, int y) { var output = new StellarSystem(); output.X = x; output.Y = y; output.SystemNature = SystemNatureGenerator.Generate(); //Add Primary IStar primary = StarGenerator.Generate(1); output.Stars.Add(primary); output.CombinedLuminosity = primary.Luminosity; //Add Secondary Star if (output.SystemNature == SystemNature.Binary || output.SystemNature == SystemNature.Trinary) { IStar star = StarGenerator.Generate(2, output.Stars[0]); output.Stars.Add(star); } //Add Third Star if (output.SystemNature == SystemNature.Trinary) { output.Stars.Add(StarGenerator.Generate(3, output.Stars[0])); } //Generate primary star bodies SystemBodiesGenerator.Generate(output, 0); if (output.Stars.Count > 1) { SystemBodiesGenerator.Generate(output, 1); } if (output.Stars.Count > 2) { SystemBodiesGenerator.Generate(output, starToGenerate: 2); } return(output); }