-
Notifications
You must be signed in to change notification settings - Fork 0
/
Modifier.cs
31 lines (28 loc) · 1022 Bytes
/
Modifier.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using SMU.Utilities;
namespace SRXDModifiers;
public abstract class Modifier {
/// <summary>
/// The name of the modifier
/// </summary>
public abstract string Name { get; }
/// <summary>
/// The percent score bonus to be added if this modifier is enabled
/// </summary>
public abstract int Value { get; }
/// <summary>
/// True if the modifier should block score submission when enabled
/// </summary>
public abstract bool BlocksSubmission { get; }
/// <summary>
/// Optional value which prevents multiple modifiers in the same exclusivity group from being enabled at the same time
/// </summary>
public virtual ExclusivityGroup ExclusivityGroup => ExclusivityGroup.None;
/// <summary>
/// True if the modifier is currently enabled
/// </summary>
public Bindable<bool> Enabled { get; } = new(false);
/// <summary>
/// Called after all modifiers have been created
/// </summary>
public virtual void LateInit() { }
}