Editor/FenceLibrary/FenceDefinitionEditor.cs
namespace Editor;
public sealed class FenceDefinitionEditor : BaseResourceEditor<FenceDefinition>
{
protected override void Initialize( Asset asset, FenceDefinition resource )
{
Layout = Layout.Column();
Layout.Margin = 8;
Layout.Spacing = 8;
var serialized = resource.GetSerialized();
serialized.OnPropertyChanged += NoteChanged;
var sheet = new ControlSheet();
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.RootName ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.Entries ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.UseWeightedRandom ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.MaximumSegments ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.SegmentGap ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.RotationRandomizationMin ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.RotationRandomizationMax ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.DistanceRandomizationMin ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.DistanceRandomizationMax ) ) );
sheet.AddRow( serialized.GetProperty( nameof( FenceDefinition.CreateBlockerVolumes ) ) );
Layout.Add( sheet, 1 );
}
}