Files
QuizPlease/Assets/Scripts/Boot/Composition/GameLifetimeScope.cs
T
horooko 134e38c57c feat: add BootStatusUIView for loading progress display with text feedback
- Create new BootStatusUIView MonoBehaviour component with StatusText and ProgressSlider fields
- Implement SetStatus() and SetProgress() methods for updating UI elements
- Replace Transform-based ProgressFill in LoadingUIView with Slider component for better UX
- Integrate BootStatusUIView into LoadState with real-time status updates during loading steps
- Display formatted progress text (e.g., 'Loading 50%') alongside slider updates
- Add SceneTemplateSettings.json to ProjectSettings for scene template configuration
2026-05-27 04:51:27 +07:00

49 lines
1.8 KiB
C#

using QuizPleaseTest.Boot.Flow;
using QuizPleaseTest.Boot.Settings;
using QuizPleaseTest.Boot.States;
using QuizPleaseTest.Boot.UI;
using QuizPleaseTest.Common.Services;
using QuizPleaseTest.Common.StateMachine;
using UnityEngine;
using VContainer;
using VContainer.Unity;
namespace QuizPleaseTest.Boot.Composition
{
public class GameLifetimeScope : LifetimeScope
{
[field: SerializeField] public BootSettings BootSettings { get; private set; }
[field: SerializeField] public SplashUIView SplashView { get; private set; }
[field: SerializeField] public LoadingUIView LoadingView { get; private set; }
[field: SerializeField] public MenuUIView MenuView { get; private set; }
[field: SerializeField] public BootStatusUIView BootStatusView { get; private set; }
protected override void Configure(IContainerBuilder builder)
{
builder.RegisterInstance(BootSettings);
builder.RegisterComponent(SplashView);
builder.RegisterComponent(LoadingView);
builder.RegisterComponent(MenuView);
builder.RegisterComponent(BootStatusView);
builder.Register<BootFlowService>(Lifetime.Singleton)
.As<IBootFlowService>()
.As<IService>();
builder.Register<MenuRestartSignal>(Lifetime.Singleton)
.As<IMenuRestartSignal>();
builder.Register<BootStatesController>(Lifetime.Singleton)
.As<IStatesController<BootStateCode>>()
.AsSelf();
builder.Register<SplashState>(Lifetime.Singleton);
builder.Register<LoadState>(Lifetime.Singleton);
builder.Register<MenuState>(Lifetime.Singleton);
builder.RegisterEntryPoint<BootstrapEntryPoint>();
}
}
}