using System.Collections.Generic;
namespace Unity.VisualScripting
{
[Plugin(BoltFlow.ID)]
public sealed class BoltFlowConfiguration : PluginConfiguration
{
private BoltFlowConfiguration(BoltFlow plugin) : base(plugin) { }
public override string header => "Script Graphs";
///
/// (Experimental) Whether the node database should be incrementally updated
/// whenever a codebase change is detected.
///
[EditorPref, RenamedFrom("updateUnitsAutomatically")]
public bool updateNodesAutomatically { get; set; } = false;
///
/// Whether predictive debugging should warn about null value inputs.
/// Note that in some cases, this setting may report false positives.
///
[EditorPref]
public bool predictPotentialNullReferences { get; set; } = true;
///
/// Whether predictive debugging should warn about missing components.
/// Note that in some cases, this setting may report false positives.
///
[EditorPref]
public bool predictPotentialMissingComponents { get; set; } = true;
///
/// Whether values should be shown on flow graph connections.
///
[EditorPref]
public bool showConnectionValues { get; set; } = true;
///
/// Whether predictable values should be shown on flow graph connections.
///
[EditorPref]
public bool predictConnectionValues { get; set; } = false;
///
/// Whether labels should be hidden on ports when the value can be deduced from the context.
/// Disabling will make nodes more explicit but less compact.
///
[EditorPref]
public bool hidePortLabels { get; set; } = true;
///
/// Whether active control connections should show a droplet animation.
///
[EditorPref]
public bool animateControlConnections { get; set; } = true;
///
/// Whether active value connections should show a droplet animation.
///
[EditorPref]
public bool animateValueConnections { get; set; } = true;
///
/// When active, right-clicking a flow graph will skip the context menu
/// and instantly open the fuzzy finder. To open the context menu, hold shift.
///
[EditorPref]
public bool skipContextMenu { get; set; } = false;
[ProjectSetting(visible = false, resettable = false)]
public HashSet favoriteUnitOptions { get; set; } = new HashSet();
}
}