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(); } }