设置界面

This commit is contained in:
YHH
2025-10-16 13:07:19 +08:00
parent 6bcfd48a2f
commit 1ec7892338
11 changed files with 1141 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
import type { Core, ServiceContainer } from '@esengine/ecs-framework';
import { IEditorPlugin, EditorPluginCategory, MenuItem, MessageHub, PanelDescriptor } from '@esengine/editor-core';
import { IEditorPlugin, EditorPluginCategory, MenuItem, MessageHub, PanelDescriptor, SettingsRegistry } from '@esengine/editor-core';
import { ProfilerDockPanel } from '../components/ProfilerDockPanel';
import { ProfilerService } from '../services/ProfilerService';
@@ -22,6 +22,70 @@ export class ProfilerPlugin implements IEditorPlugin {
async install(_core: Core, services: ServiceContainer): Promise<void> {
this.messageHub = services.resolve(MessageHub);
// 注册设置
const settingsRegistry = services.resolve(SettingsRegistry);
settingsRegistry.registerCategory({
id: 'profiler',
title: '性能分析器',
description: '配置性能分析器的行为和显示选项',
sections: [
{
id: 'connection',
title: '连接设置',
description: '配置WebSocket服务器连接参数',
settings: [
{
key: 'profiler.port',
label: '监听端口',
type: 'number',
defaultValue: 8080,
description: '性能分析器WebSocket服务器监听的端口号',
placeholder: '8080',
min: 1024,
max: 65535,
validator: {
validate: (value: number) => value >= 1024 && value <= 65535,
errorMessage: '端口号必须在1024到65535之间'
}
},
{
key: 'profiler.autoStart',
label: '自动启动服务器',
type: 'boolean',
defaultValue: true,
description: '编辑器启动时自动启动性能分析器服务器'
}
]
},
{
id: 'display',
title: '显示设置',
description: '配置性能数据的显示选项',
settings: [
{
key: 'profiler.refreshInterval',
label: '刷新间隔 (毫秒)',
type: 'range',
defaultValue: 100,
description: '性能数据刷新的时间间隔',
min: 50,
max: 1000,
step: 50
},
{
key: 'profiler.maxDataPoints',
label: '最大数据点数',
type: 'number',
defaultValue: 100,
description: '图表中保留的最大历史数据点数量',
min: 10,
max: 500
}
]
}
]
});
// 创建并启动 ProfilerService
this.profilerService = new ProfilerService();