/// <summary> /// 创建加载数据表失败事件。 /// </summary> /// <param name="e">内部事件。</param> /// <returns>创建的加载数据表失败事件。</returns> public static LoadDataTableFailureEventArgs Create(GameFramework.DataTable.LoadDataTableFailureEventArgs e) { LoadDataTableInfo loadDataTableInfo = (LoadDataTableInfo)e.UserData; LoadDataTableFailureEventArgs loadDataTableFailureEventArgs = ReferencePool.Acquire <LoadDataTableFailureEventArgs>(); loadDataTableFailureEventArgs.DataRowType = loadDataTableInfo.DataRowType; loadDataTableFailureEventArgs.DataTableName = loadDataTableInfo.DataTableName; loadDataTableFailureEventArgs.DataTableAssetName = e.DataTableAssetName; loadDataTableFailureEventArgs.LoadType = e.LoadType; loadDataTableFailureEventArgs.ErrorMessage = e.ErrorMessage; loadDataTableFailureEventArgs.UserData = loadDataTableInfo.UserData; ReferencePool.Release(loadDataTableInfo); return(loadDataTableFailureEventArgs); }
/// <summary> /// 填充加载数据表失败事件。 /// </summary> /// <param name="e">内部事件。</param> /// <returns>加载数据表失败事件。</returns> public LoadDataTableFailureEventArgs Fill(GameFramework.DataTable.LoadDataTableFailureEventArgs e) { LoadDataTableInfo loadDataTableInfo = (LoadDataTableInfo)e.UserData; DataRowType = loadDataTableInfo.DataRowType; DataTableName = loadDataTableInfo.DataTableName; DataTableAssetName = e.DataTableAssetName; LoadType = e.LoadType; ErrorMessage = e.ErrorMessage; UserData = loadDataTableInfo.UserData; ReferencePool.Release(loadDataTableInfo); return(this); }
/// <summary> /// 加载数据表。 /// </summary> /// <param name="dataRowType">数据表行的类型。</param> /// <param name="dataTableName">数据表名称。</param> /// <param name="dataTableNameInType">数据表类型下的名称。</param> /// <param name="dataTableAssetName">数据表资源名称。</param> /// <param name="loadType">数据表加载方式。</param> /// <param name="priority">加载数据表资源的优先级。</param> /// <param name="userData">用户自定义数据。</param> public void LoadDataTable(Type dataRowType, string dataTableName, string dataTableNameInType, string dataTableAssetName, LoadType loadType, int priority, object userData) { if (dataRowType == null) { Log.Error("Data row type is invalid."); return; } if (string.IsNullOrEmpty(dataTableName)) { Log.Error("Data table name is invalid."); return; } m_DataTableManager.LoadDataTable(dataTableAssetName, loadType, priority, LoadDataTableInfo.Create(dataRowType, dataTableName, dataTableNameInType, userData)); }
/// <summary> /// 加载数据表。 /// </summary> /// <param name="dataRowType">数据表行的类型。</param> /// <param name="dataTableName">数据表名称。</param> /// <param name="dataTableNameInType">数据表类型下的名称。</param> /// <param name="dataTableAssetName">数据表资源名称。</param> /// <param name="loadType">数据表加载方式。</param> /// <param name="priority">加载数据表资源的优先级。</param> /// <param name="userData">用户自定义数据。</param> public void LoadDataTable(Type dataRowType, string dataTableName, string dataTableNameInType, string dataTableAssetName, LoadType loadType, int priority, object userData) { if (dataRowType == null) { Log.Error("Data row type is invalid."); return; } if (string.IsNullOrEmpty(dataTableName)) { Log.Error("Data table name is invalid."); return; } LoadDataTableInfo loadDataTableInfo = ReferencePool.Acquire <LoadDataTableInfo>(); loadDataTableInfo.Initialize(dataRowType, dataTableName, dataTableNameInType, userData); m_DataTableManager.LoadDataTable(dataTableAssetName, loadType, priority, loadDataTableInfo); }
/// <summary> /// 加载数据表。 /// </summary> /// <param name="dataTableAssetName">数据表资源名称。</param> /// <param name="dataTableObject">数据表对象。</param> /// <param name="userData">用户自定义数据。</param> /// <returns>是否加载成功。</returns> public bool LoadDataTable(string dataTableAssetName, object dataTableObject, object userData) { LoadDataTableInfo loadDataTableInfo = (LoadDataTableInfo)userData; return(LoadDataTable(loadDataTableInfo.DataRowType, loadDataTableInfo.DataTableName, loadDataTableInfo.DataTableNameInType, dataTableAssetName, dataTableObject, loadDataTableInfo.UserData)); }
/// <summary> /// 加载数据表。 /// </summary> /// <param name="dataTableAsset">数据表资源。</param> /// <param name="userData">用户自定义数据。</param> /// <returns>加载是否成功。</returns> public bool LoadDataTable(object dataTableAsset, object userData) { LoadDataTableInfo loadDataTableInfo = userData as LoadDataTableInfo; return(LoadDataTable(loadDataTableInfo.DataTableName, loadDataTableInfo.DataTableType, loadDataTableInfo.DataTableNameInType, dataTableAsset, loadDataTableInfo.UserData)); }