using System;
using AI;
using AI.AgentIntegration;
using AI.Interface;
using AI.Service;
using Avalonia;
using Microsoft.Extensions.DependencyInjection;
namespace PcgDrawR
{
///
/// AvaloniaLoader 框架初始化类
///
public static class AvaloniaBootstrapper
{
private static bool isInitialized = false;
///
/// 初始化
///
public static void EnsureInitialized()
{
if (isInitialized)
{
return;
}
// 供 AI 模块 DI 使用(列头匹配等动态表单需调用 GetColumns)
AppControllerHolder.Instance = AppController.Instance;
InitializeAvalonia();
InitializeAIModule();
isInitialized = true;
}
private static void InitializeAvalonia()
{
AppBuilder.Configure()
.UsePlatformDetect()
.SetupWithoutStarting();
}
private static void InitializeAIModule()
{
var app = (App)Avalonia.Application.Current;
var kernelService = app.ServiceProvider.GetRequiredService() as KernelService;
var formNotifier = app.ServiceProvider.GetService();
kernelService?.Initialize(AppController.Instance, formNotifier);
}
}
}