Class EnumParameterTemplate<TEnum>
- Namespace
- Uncreated.Warfare.Quests.Parameters
- Assembly
- Uncreated.Warfare.dll
Quest paramater template representing a set of possible values for randomly generated quests, or a set of allowed values for conditions.
[TypeConverter(typeof(EnumParameterTemplateTypeConverter))]
public class EnumParameterTemplate<TEnum> : QuestParameterTemplate<TEnum>, IFormattable, IEquatable<QuestParameterTemplate<TEnum>>, IEquatable<EnumParameterTemplate<TEnum>> where TEnum : unmanaged, Enum
Type Parameters
TEnum
- Inheritance
-
QuestParameterTemplate<TEnum>EnumParameterTemplate<TEnum>
- Implements
-
IEquatable<QuestParameterTemplate<TEnum>>IEquatable<EnumParameterTemplate<TEnum>>
- Inherited Members
Constructors
EnumParameterTemplate()
protected EnumParameterTemplate()
EnumParameterTemplate(TEnum?, TEnum?, ParameterSelectionType)
Create a template of a range of values.
public EnumParameterTemplate(TEnum? minValue, TEnum? maxValue, ParameterSelectionType selectionType)
Parameters
minValueTEnum?maxValueTEnum?selectionTypeParameterSelectionType
EnumParameterTemplate(ReadOnlySpan<char>)
Create a template of it's string representation.
public EnumParameterTemplate(ReadOnlySpan<char> str)
Parameters
strReadOnlySpan<char>
EnumParameterTemplate(string)
Create a template of it's string representation.
[UsedImplicitly]
public EnumParameterTemplate(string str)
Parameters
strstring
EnumParameterTemplate(ParameterSelectionType)
Create a template of a wildcard set of values.
public EnumParameterTemplate(ParameterSelectionType wildcardType)
Parameters
wildcardTypeParameterSelectionType
EnumParameterTemplate(TEnum)
Create a template of a constant value.
public EnumParameterTemplate(TEnum constant)
Parameters
constantTEnum
EnumParameterTemplate(TEnum[], ParameterSelectionType)
Create a template of a set of values.
public EnumParameterTemplate(TEnum[] values, ParameterSelectionType selectionType)
Parameters
valuesTEnum[]selectionTypeParameterSelectionType
Properties
WildcardInclusive
A parameter value that matches any enum of type TEnum.
public static QuestParameterValue<TEnum> WildcardInclusive { get; }
Property Value
- QuestParameterValue<TEnum>
Methods
CreateValue(IServiceProvider)
Creates a random value from this selective set, or a set of values if this is an inclusive set.
public override UniTask<QuestParameterValue<TEnum>> CreateValue(IServiceProvider serviceProvider)
Parameters
serviceProviderIServiceProvider
Returns
- UniTask<QuestParameterValue<TEnum>>
Equals(EnumParameterTemplate<TEnum>)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(EnumParameterTemplate<TEnum> other)
Parameters
otherEnumParameterTemplate<TEnum>An object to compare with this object.
Returns
ReadJson(ref Utf8JsonReader)
Read from a JSON reader.
public static SingleParameterTemplate? ReadJson(ref Utf8JsonReader reader)
Parameters
readerUtf8JsonReader
Returns
ReadValueJson(ref Utf8JsonReader)
Read a value from a JSON reader.
public static QuestParameterValue<TEnum>? ReadValueJson(ref Utf8JsonReader reader)
Parameters
readerUtf8JsonReader
Returns
- QuestParameterValue<TEnum>
ToString()
Convert a parameter template back to a string.
public override string ToString()
Returns
TryParse(ReadOnlySpan<char>, out EnumParameterTemplate<TEnum>)
Read a StringParameterTemplate from a string.
public static bool TryParse(ReadOnlySpan<char> str, out EnumParameterTemplate<TEnum> template)
Parameters
strReadOnlySpan<char>templateEnumParameterTemplate<TEnum>
Returns
TryParseFrom(ReadOnlySpan<char>)
Read a parameter template from a string.
public override bool TryParseFrom(ReadOnlySpan<char> str)
Parameters
strReadOnlySpan<char>
Returns
TryParseIntl(ReadOnlySpan<char>, out ParameterSelectionType, out ParameterValueType, out TEnum, out TEnum, out TEnum, out bool, out bool, out TEnum[]?)
protected static bool TryParseIntl(ReadOnlySpan<char> str, out ParameterSelectionType selType, out ParameterValueType valType, out TEnum constant, out TEnum minValue, out TEnum maxValue, out bool minValInf, out bool maxValInf, out TEnum[]? list)
Parameters
strReadOnlySpan<char>selTypeParameterSelectionTypevalTypeParameterValueTypeconstantTEnumminValueTEnummaxValueTEnumminValInfboolmaxValInfboollistTEnum[]
Returns
TryParseValue(ReadOnlySpan<char>, out QuestParameterValue<TEnum>)
Read a saved value of this StringParameterTemplate from a string.
public static bool TryParseValue(ReadOnlySpan<char> str, out QuestParameterValue<TEnum> value)
Parameters
strReadOnlySpan<char>valueQuestParameterValue<TEnum>