//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
namespace GameFramework
{
///
/// 数据提供者辅助器接口。
///
public interface IDataProviderHelper
{
///
/// 读取数据。
///
/// 数据提供者的持有者。
/// 内容资源名称。
/// 内容资源。
/// 用户自定义数据。
/// 是否读取数据成功。
bool ReadData(T dataProviderOwner, string dataAssetName, object dataAsset, object userData);
///
/// 读取数据。
///
/// 数据提供者的持有者。
/// 内容资源名称。
/// 内容二进制流。
/// 内容二进制流的起始位置。
/// 内容二进制流的长度。
/// 用户自定义数据。
/// 是否读取数据成功。
bool ReadData(T dataProviderOwner, string dataAssetName, byte[] dataBytes, int startIndex, int length, object userData);
///
/// 解析内容。
///
/// 数据提供者的持有者。
/// 要解析的内容字符串。
/// 用户自定义数据。
/// 是否解析内容成功。
bool ParseData(T dataProviderOwner, string dataString, object userData);
///
/// 解析内容。
///
/// 数据提供者的持有者。
/// 要解析的内容二进制流。
/// 内容二进制流的起始位置。
/// 内容二进制流的长度。
/// 用户自定义数据。
/// 是否解析内容成功。
bool ParseData(T dataProviderOwner, byte[] dataBytes, int startIndex, int length, object userData);
///
/// 释放内容资源。
///
/// 数据提供者的持有者。
/// 要释放的内容资源。
void ReleaseDataAsset(T dataProviderOwner, object dataAsset);
}
}