IFoliagePigment.cs
using Sandbox;
namespace Foliage;
public interface IFoliagePigment
{
/// <summary>
/// Object settings for the pigment.
/// </summary>
public FoliageObjectSettings Settings { get; }
/// <summary>
/// Placement settings for the pigment.
/// </summary>
public FoliagePlacementSettings Placement { get; }
/// <summary>
/// Called when the pigment is loaded.
/// Used for setting up the pigment if needed.
/// </summary>
public void OnLoad() { }
/// <summary>
/// The radius of the piece of foliage that this pigment paints.
/// </summary>
public float Radius();
/// <summary>
/// Called when the pigment is painted, should return a new foliage object that was painted.
/// </summary>
public GameObject? Paint( Scene scene );
}