Minor sim refactors
This commit is contained in:
+28
-12
@@ -1,22 +1,38 @@
|
||||
namespace Craftimizer.Simulator;
|
||||
|
||||
public enum Condition : ushort
|
||||
public enum Condition : byte
|
||||
{
|
||||
Poor = 0x0008,
|
||||
Normal = 0x0001,
|
||||
Good = 0x0002,
|
||||
Excellent = 0x0004,
|
||||
Normal,
|
||||
Good,
|
||||
Excellent,
|
||||
Poor,
|
||||
|
||||
Centered = 0x0010,
|
||||
Sturdy = 0x0020,
|
||||
Pliant = 0x0040,
|
||||
Malleable = 0x0080,
|
||||
Primed = 0x0100,
|
||||
GoodOmen = 0x0200,
|
||||
Centered,
|
||||
Sturdy,
|
||||
Pliant,
|
||||
Malleable,
|
||||
Primed,
|
||||
GoodOmen,
|
||||
}
|
||||
|
||||
public static class ConditionUtils
|
||||
{
|
||||
[Flags]
|
||||
private enum ConditionMask : ushort
|
||||
{
|
||||
Normal = 1 << 0, // 0x0001
|
||||
Good = 1 << 1, // 0x0002
|
||||
Excellent = 1 << 2, // 0x0004
|
||||
Poor = 1 << 3, // 0x0008
|
||||
|
||||
Centered = 1 << 4, // 0x0010
|
||||
Sturdy = 1 << 5, // 0x0020
|
||||
Pliant = 1 << 6, // 0x0040
|
||||
Malleable = 1 << 7, // 0x0080
|
||||
Primed = 1 << 8, // 0x0100
|
||||
GoodOmen = 1 << 9, // 0x0200
|
||||
}
|
||||
|
||||
public static Condition[] GetPossibleConditions(ushort conditionsFlag) =>
|
||||
Enum.GetValues<Condition>().Where(c => ((Condition)conditionsFlag).HasFlag(c)).ToArray();
|
||||
Enum.GetValues<Condition>().Where(c => ((ConditionMask)conditionsFlag).HasFlag((ConditionMask)(1 << (ushort)c))).ToArray();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user