Files
A-Fairytale-Gone-Bad-Briar-…/Assets/Scripts/UI/Scopes/UISceneLifetimeScope.cs

104 lines
3.0 KiB
C#

using BriarQueen.Framework.Managers.UI;
using BriarQueen.UI.Codex;
using BriarQueen.UI.HUD;
using BriarQueen.UI.Menus;
using UnityEngine;
using VContainer;
using VContainer.Unity;
namespace BriarQueen.UI.Scopes
{
public class UISceneLifetimeScope : LifetimeScope
{
[Header("Windows")]
[SerializeField]
private PauseMenuWindow _pauseMenuWindow;
[SerializeField]
private SettingsWindow _settingsWindow;
[SerializeField]
private CodexWindow _codexWindow;
[Header("Popups")]
[SerializeField]
private TutorialPopup _tutorialPopupWindow;
[SerializeField]
private InfoPopup _infoPopup;
[Header("UI Objects")]
[SerializeField]
private ScreenFader _screenFader;
[Header("HUD")]
[SerializeField]
private HUDContainer _hudContainer;
[SerializeField]
private CursorTooltip _cursorTooltip;
[SerializeField]
private InventoryBar _inventoryBar;
protected override void Configure(IContainerBuilder builder)
{
if (_pauseMenuWindow != null)
builder.RegisterComponent(_pauseMenuWindow);
if (_settingsWindow != null)
builder.RegisterComponent(_settingsWindow);
if (_codexWindow != null)
builder.RegisterComponent(_codexWindow);
if (_tutorialPopupWindow != null)
builder.RegisterComponent(_tutorialPopupWindow);
if (_infoPopup != null)
builder.RegisterComponent(_infoPopup);
if (_screenFader != null)
builder.RegisterComponent(_screenFader);
if (_hudContainer != null)
builder.RegisterComponent(_hudContainer);
if (_cursorTooltip != null)
builder.RegisterComponent(_cursorTooltip);
if (_inventoryBar != null)
builder.RegisterComponent(_inventoryBar);
builder.RegisterBuildCallback(container =>
{
var uiManager = container.Resolve<UIManager>();
if (_pauseMenuWindow != null)
uiManager.RegisterWindow(_pauseMenuWindow);
if (_settingsWindow != null)
uiManager.RegisterWindow(_settingsWindow);
if (_codexWindow != null)
uiManager.RegisterWindow(_codexWindow);
if (_tutorialPopupWindow != null)
uiManager.RegisterTutorialPopup(_tutorialPopupWindow);
if (_infoPopup != null)
uiManager.RegisterInfoPopup(_infoPopup);
if (_screenFader != null)
uiManager.RegisterScreenFader(_screenFader);
if (_hudContainer != null)
uiManager.RegisterHUD(_hudContainer);
Debug.Log($"[UISceneLifetimeScope] UI registered with {uiManager}");
});
}
}
}