2026-01-20 11:27:56 +09:00
|
|
|
|
#nullable enable
|
|
|
|
|
|
using Cysharp.Threading.Tasks;
|
|
|
|
|
|
using UnityEngine;
|
2026-02-23 18:20:09 +09:00
|
|
|
|
using UVC.Util;
|
2026-01-20 11:27:56 +09:00
|
|
|
|
using UVC.Core;
|
|
|
|
|
|
using UVC.UI.Menu;
|
2026-02-23 18:20:09 +09:00
|
|
|
|
using UVC.Config;
|
|
|
|
|
|
using UVC.Studio.Config;
|
|
|
|
|
|
using UVC.Object3d.Manager;
|
|
|
|
|
|
using UVC.Studio.Manager;
|
|
|
|
|
|
using UVC.UI.Window.PropertyWindow;
|
2026-01-20 11:27:56 +09:00
|
|
|
|
|
|
|
|
|
|
namespace EnglewoodLAB
|
|
|
|
|
|
{
|
|
|
|
|
|
public class AppContext : InjectorAppContext
|
|
|
|
|
|
{
|
2026-02-23 18:20:09 +09:00
|
|
|
|
[SerializeField] private PropertyWindow? propertyWindow;
|
|
|
|
|
|
|
2026-01-20 11:27:56 +09:00
|
|
|
|
/// <summary>
|
2026-03-09 17:00:30 +09:00
|
|
|
|
/// App <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŭ <20><><EFBFBD><EFBFBD><F1BDBAB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>մϴ<D5B4>.
|
2026-01-20 11:27:56 +09:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>
|
2026-03-09 17:00:30 +09:00
|
|
|
|
/// <para><3E><EFBFBD> <20>ε尡 <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>鸸 <20><><EFBFBD>⼭ <20><><EFBFBD><EFBFBD>մϴ<D5B4>.</para>
|
|
|
|
|
|
/// <para><3E><EFBFBD> <20>ε尡 <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD> RegisterServicesAsync()<29><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.</para>
|
2026-01-20 11:27:56 +09:00
|
|
|
|
/// </remarks>
|
|
|
|
|
|
protected override void RegisterServices()
|
|
|
|
|
|
{
|
|
|
|
|
|
base.RegisterServices();
|
|
|
|
|
|
|
2026-03-09 17:00:30 +09:00
|
|
|
|
// <20><EFBFBD> <20>ε尡 <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>̱<EFBFBD><CCB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>
|
2026-01-20 11:27:56 +09:00
|
|
|
|
Injector.RegisterSingleton<AppMain>();
|
|
|
|
|
|
Injector.RegisterSingleton<CursorManager>();
|
|
|
|
|
|
Injector.RegisterSingleton<ContextMenuManager>();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-03-09 17:00:30 +09:00
|
|
|
|
/// App <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŭ <20><><EFBFBD><EFBFBD><F1BDBAB5><EFBFBD> <20><EFBFBD><F1B5BFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>մϴ<D5B4>.
|
2026-01-20 11:27:56 +09:00
|
|
|
|
/// </summary>
|
2026-03-09 17:00:30 +09:00
|
|
|
|
/// <returns><3E><EFBFBD> <20><><EFBFBD> <20>Ϸ<EFBFBD> UniTask</returns>
|
2026-01-20 11:27:56 +09:00
|
|
|
|
/// <remarks>
|
2026-03-09 17:00:30 +09:00
|
|
|
|
/// <para><3E><> <20><EFBFBD><DEBC><EFBFBD><EFBFBD> RegisterServices() <20>Ϸ<EFBFBD> <20><> await<69>Ǿ<EFBFBD> ȣ<><C8A3>˴ϴ<CBB4>.</para>
|
|
|
|
|
|
/// <para><3E>Ϸ<EFBFBD><CFB7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IsInitialized<65><64> false<73><65> <20><><EFBFBD><EFBFBD><EFBFBD>ǹǷ<C7B9> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><EFBFBD> <20>ε带 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.</para>
|
2026-01-20 11:27:56 +09:00
|
|
|
|
/// </remarks>
|
|
|
|
|
|
protected override async UniTask RegisterServicesAsync()
|
|
|
|
|
|
{
|
|
|
|
|
|
await base.RegisterServicesAsync();
|
|
|
|
|
|
|
2026-02-23 18:20:09 +09:00
|
|
|
|
if (propertyWindow != null) Injector.RegisterInstance<PropertyWindow>(propertyWindow, ServiceLifetime.Scene);
|
2026-03-09 17:00:30 +09:00
|
|
|
|
// StageObjectManager <20><><EFBFBD>
|
2026-02-23 18:20:09 +09:00
|
|
|
|
var stageObjectManager = new StageObjectManager();
|
|
|
|
|
|
Injector.RegisterInstance<StageObjectManager>(stageObjectManager);
|
|
|
|
|
|
|
2026-03-09 17:00:30 +09:00
|
|
|
|
// SelectionManager <20><><EFBFBD> (StageObjectManager, PropertyWindow <20><><EFBFBD><EFBFBD>)
|
2026-02-23 18:20:09 +09:00
|
|
|
|
var selectionManager = new SelectionManager(stageObjectManager, propertyWindow);
|
|
|
|
|
|
Injector.RegisterInstance<SelectionManager>(selectionManager);
|
|
|
|
|
|
|
2026-03-09 17:00:30 +09:00
|
|
|
|
// Setting<6E><67> Library<72><79> <20><><EFBFBD>ķ<EFBFBD> <20>ε<EFBFBD>
|
2026-01-20 11:27:56 +09:00
|
|
|
|
var setting = new Setting();
|
|
|
|
|
|
var library = new Library();
|
|
|
|
|
|
await UniTask.WhenAll(
|
2026-02-23 18:20:09 +09:00
|
|
|
|
setting.LoadAsync(),
|
2026-01-20 11:27:56 +09:00
|
|
|
|
library.LoadAllParallelAsync()
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2026-03-09 17:00:30 +09:00
|
|
|
|
// <20>ε<EFBFBD> <20>Ϸ<EFBFBD> <20><> <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD>
|
2026-01-20 11:27:56 +09:00
|
|
|
|
Injector.RegisterInstance<Setting>(setting);
|
|
|
|
|
|
Injector.RegisterInstance<Library>(library);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|