104 lines
3.0 KiB
C#
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}");
|
|
});
|
|
}
|
|
}
|
|
} |