using NewHorizons.Utility;
using Newtonsoft.Json;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace NewHorizons.External.Modules
{
[JsonObject]
public class HeightMapModule
{
///
/// Relative filepath to the texture used for the terrain height.
///
public string heightMap;
///
/// The highest points on your planet will be at this height.
///
[Range(0f, double.MaxValue)] public float maxHeight;
///
/// The lowest points on your planet will be at this height.
///
[Range(0f, double.MaxValue)] public float minHeight;
///
/// The scale of the terrain.
///
public MVector3 stretch;
///
/// Relative filepath to the texture used for the terrain.
///
public string textureMap;
///
/// Resolution of the heightmap.
/// Higher values means more detail but also more memory/cpu/gpu usage.
/// This value will be 1:1 with the heightmap texture width, but only at the equator.
///
[Range(1 * 4, 500 * 4)]
[DefaultValue(51 * 4)]
public int resolution = 51 * 4;
///
/// Relative filepath to the texture used for emission. Optional.
///
public string emissionMap;
///
/// Color multiplier of the emission texture. Defaults to white.
///
public MColor emissionColor;
}
}