70 lines
2.9 KiB
C#
70 lines
2.9 KiB
C#
#nullable enable
|
||
using Cysharp.Threading.Tasks;
|
||
using UnityEngine;
|
||
using UVC.Util;
|
||
using UVC.Core;
|
||
using UVC.UI.Menu;
|
||
using UVC.Config;
|
||
using UVC.Studio.Config;
|
||
using UVC.Object3d.Manager;
|
||
using UVC.Studio.Manager;
|
||
using UVC.UI.Window.PropertyWindow;
|
||
|
||
namespace EnglewoodLAB
|
||
{
|
||
public class AppContext : InjectorAppContext
|
||
{
|
||
[SerializeField] private PropertyWindow? propertyWindow;
|
||
|
||
/// <summary>
|
||
/// 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>.
|
||
/// </summary>
|
||
/// <remarks>
|
||
/// <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>
|
||
/// </remarks>
|
||
protected override void RegisterServices()
|
||
{
|
||
base.RegisterServices();
|
||
|
||
// <20><EFBFBD> <20>ε尡 <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>̱<EFBFBD><CCB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||
Injector.RegisterSingleton<AppMain>();
|
||
Injector.RegisterSingleton<CursorManager>();
|
||
Injector.RegisterSingleton<ContextMenuManager>();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 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>.
|
||
/// </summary>
|
||
/// <returns><3E><EFBFBD> <20><><EFBFBD> <20>Ϸ<EFBFBD> UniTask</returns>
|
||
/// <remarks>
|
||
/// <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>
|
||
/// </remarks>
|
||
protected override async UniTask RegisterServicesAsync()
|
||
{
|
||
await base.RegisterServicesAsync();
|
||
|
||
if (propertyWindow != null) Injector.RegisterInstance<PropertyWindow>(propertyWindow, ServiceLifetime.Scene);
|
||
// StageObjectManager <20><><EFBFBD>
|
||
var stageObjectManager = new StageObjectManager();
|
||
Injector.RegisterInstance<StageObjectManager>(stageObjectManager);
|
||
|
||
// SelectionManager <20><><EFBFBD> (StageObjectManager, PropertyWindow <20><><EFBFBD><EFBFBD>)
|
||
var selectionManager = new SelectionManager(stageObjectManager, propertyWindow);
|
||
Injector.RegisterInstance<SelectionManager>(selectionManager);
|
||
|
||
// Setting<6E><67> Library<72><79> <20><><EFBFBD>ķ<EFBFBD> <20>ε<EFBFBD>
|
||
var setting = new Setting();
|
||
var library = new Library();
|
||
await UniTask.WhenAll(
|
||
setting.LoadAsync(),
|
||
library.LoadAllParallelAsync()
|
||
);
|
||
|
||
// <20>ε<EFBFBD> <20>Ϸ<EFBFBD> <20><> <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD>
|
||
Injector.RegisterInstance<Setting>(setting);
|
||
Injector.RegisterInstance<Library>(library);
|
||
}
|
||
}
|
||
} |