Swap to ThreadStatic
This commit is contained in:
@@ -52,7 +52,7 @@ public static class ActionUtils
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void SetSimulation(Simulator simulation) =>
|
public static void SetSimulation(Simulator simulation) =>
|
||||||
BaseAction.TLSSimulation.Value = simulation;
|
BaseAction.TLSSimulation = simulation;
|
||||||
|
|
||||||
public static BaseAction WithUnsafe(this ActionType me) => Actions[(int)me];
|
public static BaseAction WithUnsafe(this ActionType me) => Actions[(int)me];
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
using System;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
|
||||||
|
|
||||||
namespace Craftimizer.Simulator.Actions;
|
namespace Craftimizer.Simulator.Actions;
|
||||||
|
|
||||||
public abstract class BaseAction
|
public abstract class BaseAction
|
||||||
{
|
{
|
||||||
internal static readonly ThreadLocal<Simulator?> TLSSimulation = new(false);
|
[ThreadStatic]
|
||||||
protected static Simulator Simulation => TLSSimulation.Value ?? throw new NullReferenceException();
|
internal static Simulator? TLSSimulation;
|
||||||
|
protected static Simulator Simulation => TLSSimulation ?? throw new NullReferenceException();
|
||||||
|
|
||||||
public BaseAction() { }
|
public BaseAction() { }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user