using System;
using UnityEngine;
using UnityEngine.UIElements;
namespace BaseGames.Editor
{
///
/// 数据模块接口 —— DataHubWindow 中每个资产管理标签页实现此接口。
///
public interface IDataModule
{
string ModuleId { get; } // 持久化 EditorPrefs 用唯一 key
string DisplayName { get; } // 导航侧边栏显示名称
string IconName { get; } // Unity 内置图标名 or null
/// 初始化模块,加载数据(首次激活时调用一次)。
void Initialize();
/// 构建列表区内容,onSelected 在选中资产时由模块调用。
void BuildListPane(VisualElement container, Action onSelected);
/// 构建详情区内容,selected 为当前选中资产(可为 null)。
void BuildDetailPane(VisualElement container, UnityEngine.Object selected);
/// 切换到本模块时调用,可用于刷新数据。
void OnActivated();
}
}