// 此文件由 ThriftIntegratedPipeline 自动生成,请勿手动修改
// 配置类: PetCareItem
// 数据类: PetCareItemItem
using UnityEngine;
using Byway.Config;
using Byway.Thrift.Data;
using UnityGameFramework.Runtime;
namespace CrazyMaple
{
///
/// PetCareItem 数据行
///
public class DRPetCareItem : DataRowBase
{
private PetCareItemItem _configData;
///
/// 唯一标识
///
public override int Id
{
get
{
return _configData?.Id ?? 0;
}
}
///
/// GroupId
///
public int GroupId
{
get
{
return _configData?.GroupId ?? 0;
}
}
///
/// ItemId
///
public int ItemId
{
get
{
return _configData?.ItemId ?? 0;
}
}
///
/// Icon
///
public string Icon
{
get
{
return _configData?.Icon ?? "";
}
}
///
/// Model
///
public string Model
{
get
{
return _configData?.Model ?? "";
}
}
///
/// Scale
///
public float Scale
{
get
{
return System.Convert.ToSingle(_configData?.Scale ?? 0.0);
}
}
///
/// Angle
///
public string Angle
{
get
{
return _configData?.Angle ?? "";
}
}
///
/// GetFrom
///
public string GetFrom
{
get
{
return _configData?.GetFrom ?? "";
}
}
///
/// Price
///
public int Price
{
get
{
return _configData?.Price ?? 0;
}
}
///
/// Res
///
public string Res
{
get
{
return _configData?.Res ?? "";
}
}
///
/// ReqId
///
public int ReqId
{
get
{
return _configData?.ReqId ?? 0;
}
}
///
/// Exp
///
public int Exp
{
get
{
return _configData?.Exp ?? 0;
}
}
///
/// Sort
///
public int Sort
{
get
{
return _configData?.Sort ?? 0;
}
}
///
/// Tex2D
///
public string Tex2D
{
get
{
return _configData?.Tex2D ?? "";
}
}
///
/// Name
///
public string Name
{
get
{
return _configData?.Name ?? "";
}
}
///
/// 从配置加载数据(优先使用传入的配置实例)
///
public void LoadFromConfig(int id, PetCareItem config = null)
{
if (config == null)
{
config = ConfigManager.Instance.GetConfig();
}
if (config?.Petcareitems != null)
{
config.Petcareitems.TryGetValue(id, out _configData);
}
}
///
/// 直接设置配置数据(性能优化:跳过字典查询)
///
public void SetConfigData(PetCareItemItem configData)
{
_configData = configData;
}
///
/// 解析数据行(优化:使用 userData 传入的配置实例,避免重复调用 GetConfig)
///
public override bool ParseDataRow(string dataRowString, object userData)
{
int id = 0;
if (!int.TryParse(dataRowString, out id))
{
return false;
}
// 性能优化:尝试从 userData 获取配置字典,直接获取 Item
if (userData is System.Collections.Generic.Dictionary userDataDict)
{
// 优先尝试从缓存的字典直接获取 Item(最快)
if (userDataDict.TryGetValue("ConfigDict", out object dictObj))
{
var dict = dictObj as System.Collections.Generic.Dictionary;
if (dict != null && dict.TryGetValue(id, out var item))
{
_configData = item;
return true;
}
}
// 备选方案:从配置实例获取
if (userDataDict.TryGetValue("ConfigInstance", out object configObj))
{
var config = configObj as PetCareItem;
if (config != null)
{
LoadFromConfig(id, config);
return _configData != null;
}
}
}
// 兜底方案:直接查询(最慢)
LoadFromConfig(id);
return _configData != null;
}
}
}