Files
FlaxEngine/Source/Editor/CustomEditors/Dedicated/TerrainEditor.cs
2024-02-26 19:00:48 +01:00

41 lines
1.5 KiB
C#

// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using FlaxEngine;
namespace FlaxEditor.CustomEditors.Dedicated
{
/// <summary>
/// Custom editor for <see cref="Terrain"/>.
/// </summary>
/// <seealso cref="ActorEditor" />
[CustomEditor(typeof(Terrain)), DefaultEditor]
public class TerrainEditor : ActorEditor
{
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
{
base.Initialize(layout);
// Add info box
if (IsSingleObject && Values[0] is Terrain terrain)
{
var patchesCount = terrain.PatchesCount;
var chunkSize = terrain.ChunkSize;
var resolution = terrain.Scale;
var totalSize = terrain.Box.Size;
string text = string.Format("Patches: {0}\nTotal Chunks: {1}\nChunk Size: {2}\nResolution: {3}m x {4}m\nTotal size: {5}km x {6}km",
patchesCount,
patchesCount * 16,
chunkSize,
1.0f / (resolution.X + 1e-9f),
1.0f / (resolution.Z + 1e-9f),
totalSize.X * 0.00001f,
totalSize.Z * 0.00001f
);
var label = layout.Label(text);
label.Label.AutoHeight = true;
}
}
}
}