feat(asset): 增强资产管理系统和编辑器 UI (#291)

* fix(editor): 修复粒子实体创建和优化检视器

- 添加 effects 分类到右键菜单,修复粒子实体无法创建的问题
- 添加粒子效果的本地化标签
- 简化粒子组件检视器,优先显示资产文件选择
- 高级属性只在未选择资产时显示,且默认折叠
- 添加可折叠的属性分组提升用户体验

* fix(particle): 修复粒子系统在浏览器预览中的资产加载和渲染

- 添加粒子 Gizmo 支持,显示发射形状并响应 Transform 缩放/旋转
- 修复资产热重载:添加 reloadAsset() 方法和 assets:refresh 事件监听
- 修复 VectorFieldEditors 数值输入精度(step 改为 0.01)
- 修复浏览器预览中粒子资产加载失败的问题:
  - 将相对路径转换为绝对路径以正确复制资产文件
  - 使用原始 GUID 而非生成的 GUID 构建 asset catalog
  - 初始化全局 assetManager 单例的 catalog 和 loader
  - 在 GameRuntime 的 systemContext 中添加 engineIntegration
- 公开 AssetManager.initializeFromCatalog 方法供运行时使用

* feat(asset): 增强资产管理系统和编辑器 UI

主要改动:
- 添加 loaderType 字段支持显式指定加载器类型覆盖
- 添加 .particle 扩展名和类型映射
- 新增 MANAGED_ASSET_DIRECTORIES 常量和相关工具方法
- EngineService 使用全局 assetManager 并同步 AssetRegistry 数据
- 修复插件启用逻辑,defaultEnabled=true 的新插件不被旧配置禁用
- ContentBrowser 添加 GUID 管理目录指示和非托管目录警告
- AssetPickerDialog 和 AssetFileInspector UI 增强
This commit is contained in:
YHH
2025-12-07 20:26:03 +08:00
committed by GitHub
parent 568b327425
commit d92c2a7b66
9 changed files with 1013 additions and 86 deletions

View File

@@ -143,6 +143,61 @@
font-size: 12px;
}
/* ==================== Managed Directory Indicators ==================== */
.folder-tree-item.managed-root .folder-tree-icon {
color: #4fc1ff;
}
.folder-tree-item.managed-root .managed-icon {
color: #4fc1ff;
}
.managed-badge {
font-size: 9px;
padding: 1px 4px;
background: #4fc1ff22;
color: #4fc1ff;
border-radius: 3px;
margin-left: 6px;
font-weight: 600;
letter-spacing: 0.5px;
}
/* Warning icons in context menu */
.warning-icon {
color: #f59e0b !important;
}
.menu-item-with-warning {
display: inline-flex;
align-items: center;
position: relative;
}
.warning-badge {
position: absolute;
bottom: -2px;
right: -4px;
color: #f59e0b;
}
/* Context menu disabled item for unmanaged warning */
.context-menu-item.disabled .warning-icon {
color: #f59e0b !important;
}
/* ==================== Drag and Drop Styles ==================== */
.folder-tree-item.drag-over {
background: #1976d2 !important;
outline: 2px solid #42a5f5;
}
.cb-asset-item.drag-over {
background: #1976d2 !important;
outline: 2px solid #42a5f5;
border-radius: 4px;
}
/* ==================== Right Panel - Content Area ==================== */
.content-browser-right {
flex: 1;