diff --git a/Simulator/ActionStates.cs b/Simulator/ActionStates.cs index 8cd429d..4c08f1b 100644 --- a/Simulator/ActionStates.cs +++ b/Simulator/ActionStates.cs @@ -28,4 +28,7 @@ public struct ActionStates Observed = action == ActionType.Observe; } + + public override readonly string ToString() => + $"ActionStates {{ TouchComboIdx = {TouchComboIdx}, CarefulObservationCount = {CarefulObservationCount}, UsedHeartAndSoul = {UsedHeartAndSoul}, Observed = {Observed} }}"; } diff --git a/Simulator/Effects.cs b/Simulator/Effects.cs index 71e025a..f97e20f 100644 --- a/Simulator/Effects.cs +++ b/Simulator/Effects.cs @@ -113,4 +113,7 @@ public struct Effects if (Manipulation > 0) Manipulation--; } + + public override readonly string ToString() => + $"Effects {{ InnerQuiet = {InnerQuiet}, WasteNot = {WasteNot}, Veneration = {Veneration}, GreatStrides = {GreatStrides}, Innovation = {Innovation}, FinalAppraisal = {FinalAppraisal}, WasteNot2 = {WasteNot2}, MuscleMemory = {MuscleMemory}, Manipulation = {Manipulation}, HeartAndSoul = {HeartAndSoul} }}"; } diff --git a/Simulator/SimulationInput.cs b/Simulator/SimulationInput.cs index 075612d..1e7c2e0 100644 --- a/Simulator/SimulationInput.cs +++ b/Simulator/SimulationInput.cs @@ -38,4 +38,7 @@ public sealed class SimulationInput } public Condition[] AvailableConditions => ConditionUtils.GetPossibleConditions(Recipe.ConditionsFlag); + + public override string ToString() => + $"SimulationInput {{ Stats = {Stats}, Recipe = {Recipe}, Random = {Random}, StartingQuality = {StartingQuality}, BaseProgressGain = {BaseProgressGain}, BaseQualityGain = {BaseQualityGain} }}"; } diff --git a/Simulator/SimulationState.cs b/Simulator/SimulationState.cs index 126ea30..abda432 100644 --- a/Simulator/SimulationState.cs +++ b/Simulator/SimulationState.cs @@ -42,4 +42,7 @@ public struct SimulationState ActionCount = 0; ActionStates = new(); } + + public override readonly string ToString() => + $"SimulationState {{ Input = {Input}, ActionCount = {ActionCount}, StepCount = {StepCount}, Progress = {Progress}, Quality = {Quality}, Durability = {Durability}, CP = {CP}, Condition = {Condition}, ActiveEffects = {ActiveEffects}, ActionStates = {ActionStates} }}"; } diff --git a/Simulator/Simulator.cs b/Simulator/Simulator.cs index 5abd80c..7ee8fc9 100644 --- a/Simulator/Simulator.cs +++ b/Simulator/Simulator.cs @@ -39,6 +39,11 @@ public class Simulator State = state; } + public void SetState(SimulationState state) + { + State = state; + } + public (ActionResponse Response, SimulationState NewState) Execute(SimulationState state, ActionType action) { State = state;