#nullable enable
namespace Content.IntegrationTests.Fixtures.Attributes;
///
/// Interface used for pair configuration attributes.
/// This allows such attributes to modify the pair settings, and also describe what parts of pairs they modify
/// so odd configuration choices can be spotted.
///
public interface IGameTestPairConfigModifier
{
///
/// Whether this modifier is exclusive and should conflict with other exclusive modifiers.
/// Essentially, fail immediately if other IGameTestPairConfigModifier attributes are present if this is set.
///
bool Exclusive { get; }
///
/// Called when GameTest needs its modified by the modifier.
///
/// The test we're applying to.
/// The settings object to modify.
void ApplyToPairSettings(GameTest test, ref PoolSettings settings);
}