Decoupled simulator instance from solver

multithread soon, but holy crap multithreaded tree stuff is annoying
This commit is contained in:
Asriel Camora
2023-07-03 21:01:18 +02:00
parent ec596f400d
commit 2e9d1e899e
3 changed files with 38 additions and 37 deletions
+6 -4
View File
@@ -9,10 +9,7 @@ public sealed class Simulator : SimulatorNoRandom
{
private readonly int maxStepCount;
public new CompletionState CompletionState =>
(ActionCount + 1) >= maxStepCount ?
CompletionState.MaxActionCountReached :
(CompletionState)base.CompletionState;
public new CompletionState CompletionState => CalculateCompletionState(State, maxStepCount);
public override bool IsComplete => CompletionState != CompletionState.Incomplete;
public Simulator(SimulationState state, int maxStepCount) : base(state)
@@ -168,4 +165,9 @@ public sealed class Simulator : SimulatorNoRandom
ret.AddAction(action);
return ret;
}
public static CompletionState CalculateCompletionState(SimulationState state, int maxStepCount) =>
(state.ActionCount + 1) >= maxStepCount ?
CompletionState.MaxActionCountReached :
(CompletionState)CalculateCompletionState(state);
}