private void OnAtmospherePresetChanged(Planetoid planetoid, Atmosphere atmosphere) { if (planetoid == null) { Debug.Log("Atmosphere: OnAtmospherePresetChanged planetoid is null!"); return; } if (atmosphere == null) { Debug.Log("Atmosphere: OnAtmospherePresetChanged atmosphere is null!"); return; } atmosphere.Bake(); planetoid.ReSetupQuads(); }
protected override void UI(int id) { scrollPosition = GUILayout.BeginScrollView(scrollPosition, false, true); if (Planetoid != null) { GUILayout.BeginVertical(); GUILayout.Label("Planetoid stats: ", boldLabel); var highestLODLevel = Planetoid.Quads.Max((quad => quad.LODLevel)) + 1; GUILayoutExtensions.LabelWithSpace((Planetoid.gameObject.name + ": " + (Planetoid.Working ? "Generating..." : "Idle...")), -8); GUILayoutExtensions.LabelWithSpace("Highest LOD level: " + highestLODLevel, -8); if (Planetoid.CullingMethod == QuadCullingMethod.Custom) { var quadsCount = Planetoid.Quads.Count; var quadsCulledCount = Planetoid.GetCulledQuadsCount(); var vertsRendered = (quadsCount - quadsCulledCount) * QuadSettings.Vertices; var quadsTexturesVideoMemoryUsage = CalculateTexturesVMU(quadsCount); GUILayoutExtensions.LabelWithSpace("Quads count: " + quadsCount, -8); GUILayoutExtensions.LabelWithSpace("Quads culled count: " + quadsCulledCount, -8); GUILayoutExtensions.LabelWithSpace("Quads textures VMU (MB): " + quadsTexturesVideoMemoryUsage.ToString("0.00"), -8); GUILayoutExtensions.LabelWithSpace("Verts rendered per frame (Only Quads): " + vertsRendered, -8); } GUILayout.EndVertical(); GUILayout.BeginVertical(); GUILayout.Space(10); GUILayout.Label("Planetoid parameters: ", boldLabel); if (GUILayout.Button("Resetup")) { Planetoid.ReSetupQuads(); } GUILayout.EndVertical(); if (Planetoid.Atmosphere != null) { GUILayout.Space(10); GUILayout.BeginVertical(); GUILayout.Label("Atmosphere parameters: ", boldLabel); GUILayout.Label("Preset: "); Planetoid.Atmosphere.AtmosphereBase = (AtmosphereBase)GUILayout.SelectionGrid((int)Planetoid.Atmosphere.AtmosphereBase, System.Enum.GetNames(typeof(AtmosphereBase)), 2); GUILayout.Space(10); GUILayout.Label("Density: "); float.TryParse(GUILayout.TextField(Planetoid.Atmosphere.Density.ToString("0.0")), out Planetoid.Atmosphere.Density); GUILayout.Label("Height: "); float.TryParse(GUILayout.TextField(Planetoid.Atmosphere.Height.ToString("0.0")), out Planetoid.Atmosphere.Height); GUILayout.EndVertical(); } else { GUILayout.BeginVertical(); GUILayoutExtensions.LabelWithSpace("No Atmosphere!?", -8); GUILayout.EndVertical(); } } else { GUILayout.BeginVertical(); GUILayoutExtensions.LabelWithSpace("No Planetoid!?", -8); GUILayout.EndVertical(); } GUILayout.EndScrollView(); }