Skip to content

Commit b520244

Browse files
Exposes Container.ProjectContainer static getter
1 parent 5e3e033 commit b520244

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

Assets/Reflex/Core/Container.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ namespace Reflex.Core
1212
{
1313
public sealed class Container : IDisposable
1414
{
15+
public static Container ProjectContainer { get; internal set; }
1516
public string Name { get; }
1617
public Container Parent { get; }
1718
internal List<Container> Children { get; } = new();

Assets/Reflex/Editor/DebuggingWindow/ReflexDebuggerWindow.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private void BuildDataRecursively(MyTreeElement parent, Container container)
194194
private IList<MyTreeElement> GetData()
195195
{
196196
var root = new MyTreeElement("Root", -1, ++_id, ContainerIcon, () => string.Empty, Array.Empty<string>(), string.Empty, null, string.Empty);
197-
BuildDataRecursively(root, UnityInjector.ProjectContainer);
197+
BuildDataRecursively(root, Container.ProjectContainer);
198198

199199
var list = new List<MyTreeElement>();
200200
TreeElementUtility.TreeToList(root, list);

Assets/Reflex/Injectors/UnityInjector.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ namespace Reflex.Injectors
1616
internal static class UnityInjector
1717
{
1818
internal static Action<Scene, SceneScope> OnSceneLoaded;
19-
internal static Container ProjectContainer { get; private set; }
2019
internal static Dictionary<Scene, Container> ContainersPerScene { get; } = new();
2120
internal static Dictionary<Scene, Container> SceneContainerParentOverride { get; } = new();
2221
internal static Dictionary<Scene, Action<ContainerBuilder>> ScenePreInstaller { get; } = new();
@@ -26,12 +25,12 @@ private static void BeforeAwakeOfFirstSceneOnly()
2625
{
2726
ReportReflexDebuggerStatus();
2827
ResetStaticState();
29-
ProjectContainer = CreateProjectContainer();
28+
Container.ProjectContainer = CreateProjectContainer();
3029

3130
void InjectScene(Scene scene, SceneScope sceneScope)
3231
{
3332
ReflexLogger.Log($"Scene {scene.name} ({scene.GetHashCode()}) loaded", LogLevel.Development);
34-
var sceneContainer = CreateSceneContainer(scene, ProjectContainer, sceneScope);
33+
var sceneContainer = CreateSceneContainer(scene, Container.ProjectContainer, sceneScope);
3534
ContainersPerScene.Add(scene, sceneContainer);
3635
SceneInjector.Inject(scene, sceneContainer);
3736
}
@@ -48,8 +47,8 @@ void DisposeScene(Scene scene)
4847

4948
void DisposeProject()
5049
{
51-
ProjectContainer?.Dispose();
52-
ProjectContainer = null;
50+
Container.ProjectContainer?.Dispose();
51+
Container.ProjectContainer = null;
5352

5453
// Unsubscribe from static events ensuring that Reflex works with domain reloading set to false
5554
OnSceneLoaded -= InjectScene;
@@ -105,7 +104,7 @@ private static Container CreateSceneContainer(Scene scene, Container projectCont
105104
private static void ResetStaticState()
106105
{
107106
OnSceneLoaded = null;
108-
ProjectContainer = null;
107+
Container.ProjectContainer = null;
109108
ContainersPerScene.Clear();
110109
SceneContainerParentOverride.Clear();
111110
ScenePreInstaller.Clear();

0 commit comments

Comments
 (0)