//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ using GameFramework.Resource; using System; using System.Collections.Generic; namespace GameFramework.DataTable { /// /// 数据表管理器接口。 /// public interface IDataTableManager { /// /// 获取数据表数量。 /// int Count { get; } /// /// 获取缓冲二进制流的大小。 /// int CachedBytesSize { get; } /// /// 设置资源管理器。 /// /// 资源管理器。 void SetResourceManager(IResourceManager resourceManager); /// /// 设置数据表数据提供者辅助器。 /// /// 数据表数据提供者辅助器。 void SetDataProviderHelper(IDataProviderHelper dataProviderHelper); /// /// 设置数据表辅助器。 /// /// 数据表辅助器。 void SetDataTableHelper(IDataTableHelper dataTableHelper); /// /// 确保二进制流缓存分配足够大小的内存并缓存。 /// /// 要确保二进制流缓存分配内存的大小。 void EnsureCachedBytesSize(int ensureSize); /// /// 释放缓存的二进制流。 /// void FreeCachedBytes(); /// /// 是否存在数据表。 /// /// 数据表行的类型。 /// 是否存在数据表。 bool HasDataTable() where T : IDataRow; /// /// 是否存在数据表。 /// /// 数据表行的类型。 /// 是否存在数据表。 bool HasDataTable(Type dataRowType); /// /// 是否存在数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 是否存在数据表。 bool HasDataTable(string name) where T : IDataRow; /// /// 是否存在数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 是否存在数据表。 bool HasDataTable(Type dataRowType, string name); /// /// 获取数据表。 /// /// 数据表行的类型。 /// 要获取的数据表。 IDataTable GetDataTable() where T : IDataRow; /// /// 获取数据表。 /// /// 数据表行的类型。 /// 要获取的数据表。 DataTableBase GetDataTable(Type dataRowType); /// /// 获取数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 要获取的数据表。 IDataTable GetDataTable(string name) where T : IDataRow; /// /// 获取数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 要获取的数据表。 DataTableBase GetDataTable(Type dataRowType, string name); /// /// 获取所有数据表。 /// /// 所有数据表。 DataTableBase[] GetAllDataTables(); /// /// 获取所有数据表。 /// /// 所有数据表。 void GetAllDataTables(List results); /// /// 创建数据表。 /// /// 数据表行的类型。 /// 要创建的数据表。 IDataTable CreateDataTable() where T : class, IDataRow, new(); /// /// 创建数据表。 /// /// 数据表行的类型。 /// 要创建的数据表。 DataTableBase CreateDataTable(Type dataRowType); /// /// 创建数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 要创建的数据表。 IDataTable CreateDataTable(string name) where T : class, IDataRow, new(); /// /// 创建数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 要创建的数据表。 DataTableBase CreateDataTable(Type dataRowType, string name); /// /// 销毁数据表。 /// /// 数据表行的类型。 /// 是否销毁数据表成功。 bool DestroyDataTable() where T : IDataRow; /// /// 销毁数据表。 /// /// 数据表行的类型。 /// 是否销毁数据表成功。 bool DestroyDataTable(Type dataRowType); /// /// 销毁数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 是否销毁数据表成功。 bool DestroyDataTable(string name) where T : IDataRow; /// /// 销毁数据表。 /// /// 数据表行的类型。 /// 数据表名称。 /// 是否销毁数据表成功。 bool DestroyDataTable(Type dataRowType, string name); /// /// 销毁数据表。 /// /// 数据表行的类型。 /// 要销毁的数据表。 /// 是否销毁数据表成功。 bool DestroyDataTable(IDataTable dataTable) where T : IDataRow; /// /// 销毁数据表。 /// /// 要销毁的数据表。 /// 是否销毁数据表成功。 bool DestroyDataTable(DataTableBase dataTable); } }