diff --git a/Simulator/Actions/ActionType.cs b/Simulator/Actions/ActionType.cs index b481ec8..1dd02f3 100644 --- a/Simulator/Actions/ActionType.cs +++ b/Simulator/Actions/ActionType.cs @@ -52,7 +52,7 @@ public static class ActionUtils } public static void SetSimulation(Simulator simulation) => - BaseAction.TLSSimulation.Value = simulation; + BaseAction.TLSSimulation = simulation; public static BaseAction WithUnsafe(this ActionType me) => Actions[(int)me]; diff --git a/Simulator/Actions/BaseAction.cs b/Simulator/Actions/BaseAction.cs index c86c44f..0105320 100644 --- a/Simulator/Actions/BaseAction.cs +++ b/Simulator/Actions/BaseAction.cs @@ -1,13 +1,12 @@ -using System; using System.Text; -using System.Threading; namespace Craftimizer.Simulator.Actions; public abstract class BaseAction { - internal static readonly ThreadLocal TLSSimulation = new(false); - protected static Simulator Simulation => TLSSimulation.Value ?? throw new NullReferenceException(); + [ThreadStatic] + internal static Simulator? TLSSimulation; + protected static Simulator Simulation => TLSSimulation ?? throw new NullReferenceException(); public BaseAction() { }