public static LayoutMeta Centering(View view) => new LayoutMeta( (w, h) => new Tuple <int, int>( SpaceMaths.CenterPad(Console.WindowWidth, view.ContentWidth + view.padding.Left() + view.padding.Right()).Item1, SpaceMaths.CenterPad(Console.WindowHeight, view.ContentHeight + view.padding.Top() + view.padding.Bottom() + 1).Item1 ) );
// Start is called before the first frame update void Start() { int maxPlanets = 10; int countPlanets = Random.Range(0, maxPlanets + 1); HashSet <int> planetsIndices = new HashSet <int>(); while (planetsIndices.Count < countPlanets) { planetsIndices.Add(Random.Range(0, maxPlanets + 1)); } foreach (var planetsIndex in planetsIndices) { float RiRatio = SpaceMaths.GetPlanetRadiusByTitius_Bode(planetsIndex); float R = Constants.UnityUnitConverter.FromAstronomicalUnits(RiRatio); float T = SpaceMaths.YearsToSeconds(SpaceMaths.KeplerLawPeriod(RiRatio, 1f)); //Debug.Log(T); GameObject planet = Instantiate(SpherePrefab); planet.name = "Planet " + (planetsIndex + 1); OrbitControl control = planet.GetComponent <OrbitControl>(); CreateOrbitPoints(planet.GetComponent <LineRenderer>(), R); float phi_0 = Random.Range(0, Mathf.PI * 2); PlanetData data = new PlanetData(R, T, phi_0); control.SetPlanetData(data); } Camera.main.GetComponent <CameraSetupper>().target = GameObject.Find("Center").transform; //Camera.main.GetComponent<CameraSetupper>().target = GameObject.Find("Planet 3").transform; }