Code/VolumeSystem/VolumeComponent.cs
namespace Sandbox.Volumes;
public class VolumeComponent : Component
{
[InlineEditor]
[Property] public SceneVolume SceneVolume { get; set; } = new SceneVolume();
protected override void DrawGizmos()
{
base.DrawGizmos();
if ( !Gizmo.IsSelected )
return;
var vol = SceneVolume;
vol.DrawGizmos( true );
SceneVolume = vol;
}
public virtual float GetPriority()
{
// higher number is better, smaller volume is better
return 1.0f - (SceneVolume.GetVolume() / 16000000000f);
}
}