重构UI架构:分离数据模型和显示逻辑

- 新增 Core 模块:GameObject、LogEntry、AssetItem 数据模型
- 新增 Managers 模块:SceneManager、LogSystem、ProjectManager
- Panel 层只负责显示,不再持有数据
- 解耦 HierarchyPanel 和 InspectorPanel 之间的直接依赖
This commit is contained in:
2026-03-12 16:13:34 +08:00
parent 7d3e3b464d
commit a2f3db8718
19 changed files with 306 additions and 137 deletions

View File

@@ -0,0 +1,26 @@
#pragma once
#include "Core/AssetItem.h"
#include <vector>
#include <string>
namespace UI {
class ProjectManager {
public:
static ProjectManager& Get();
std::vector<AssetItem>& GetItems() { return m_items; }
int GetSelectedIndex() const { return m_selectedIndex; }
void SetSelectedIndex(int index) { m_selectedIndex = index; }
void CreateDemoAssets();
private:
ProjectManager() = default;
std::vector<AssetItem> m_items;
int m_selectedIndex = -1;
};
}