Fix ActionSet

This commit is contained in:
Asriel Camora
2023-11-02 01:01:03 -07:00
parent 74195b59eb
commit ac109ae711
3 changed files with 4 additions and 2 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ public class ActionSetTests
foreach (var i in Enum.GetValues<ActionType>())
{
var idx = lut[(byte)i];
if (idx != 0)
if (idx != -1)
Assert.AreEqual(i, actions[idx]);
}
}
+1 -1
View File
@@ -16,7 +16,7 @@ public struct ActionSet
private static int FromAction(ActionType action)
{
var ret = Simulator.AcceptedActionsLUT[(byte)action];
if (ret == 0)
if (ret == -1)
throw new ArgumentOutOfRangeException(nameof(action), action, $"Action {action} is unsupported in {nameof(ActionSet)}.");
return ret;
}
+2
View File
@@ -63,6 +63,8 @@ public sealed class Simulator : SimulatorNoRandom
static Simulator()
{
AcceptedActionsLUT = new int[Enum.GetValues<ActionType>().Length];
for (var i = 0; i < AcceptedActionsLUT.Length; i++)
AcceptedActionsLUT[i] = -1;
for (var i = 0; i < AcceptedActions.Length; i++)
AcceptedActionsLUT[(byte)AcceptedActions[i]] = i;
}