//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using Luban;


namespace GameConfig.TB
{
public sealed partial class TbGRoleEquip : Luban.BeanBase
{
    public TbGRoleEquip(ByteBuf _buf) 
    {
        Id = _buf.ReadInt();
        Name = _buf.ReadString();
        Position = _buf.ReadInt();
        Quality = _buf.ReadInt();
        Icon = _buf.ReadString();
        {int __n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);LevelBaseAttributesFactors = new int[__n0];for(var __index0 = 0 ; __index0 < __n0 ; __index0++) { int __e0;__e0 = _buf.ReadInt(); LevelBaseAttributesFactors[__index0] = __e0;}}
        {int __n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);BaseAttributes = new TbGEntity.TAttributeValue[__n0][];for(var __index0 = 0 ; __index0 < __n0 ; __index0++) { TbGEntity.TAttributeValue[] __e0;{int __n1 = System.Math.Min(_buf.ReadSize(), _buf.Size);__e0 = new TbGEntity.TAttributeValue[__n1];for(var __index1 = 0 ; __index1 < __n1 ; __index1++) { TbGEntity.TAttributeValue __e1;__e1 = TbGEntity.TAttributeValue.DeserializeTAttributeValue(_buf); __e0[__index1] = __e1;}} BaseAttributes[__index0] = __e0;}}
        {int __n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);LevelHighAttributesFactors = new int[__n0];for(var __index0 = 0 ; __index0 < __n0 ; __index0++) { int __e0;__e0 = _buf.ReadInt(); LevelHighAttributesFactors[__index0] = __e0;}}
        {int __n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);HighAttributes = new TbGEntity.TAttributeValue[__n0][];for(var __index0 = 0 ; __index0 < __n0 ; __index0++) { TbGEntity.TAttributeValue[] __e0;{int __n1 = System.Math.Min(_buf.ReadSize(), _buf.Size);__e0 = new TbGEntity.TAttributeValue[__n1];for(var __index1 = 0 ; __index1 < __n1 ; __index1++) { TbGEntity.TAttributeValue __e1;__e1 = TbGEntity.TAttributeValue.DeserializeTAttributeValue(_buf); __e0[__index1] = __e1;}} HighAttributes[__index0] = __e0;}}
        {int __n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);HighAttributeSize = new int[__n0];for(var __index0 = 0 ; __index0 < __n0 ; __index0++) { int __e0;__e0 = _buf.ReadInt(); HighAttributeSize[__index0] = __e0;}}
    }

    public static TbGRoleEquip DeserializeTbGRoleEquip(ByteBuf _buf)
    {
        return new TB.TbGRoleEquip(_buf);
    }

    /// <summary>
    /// id
    /// </summary>
    public readonly int Id;
    /// <summary>
    /// 装备名称
    /// </summary>
    public readonly string Name;
    /// <summary>
    /// 装备类别(1=武器/2=帽子/3=项链/4=护肩/5=衣服/6=腰带/7=手套/8=戒指/9=裤子/10=鞋子)
    /// </summary>
    public readonly int Position;
    /// <summary>
    /// 品质信息
    /// </summary>
    public readonly int Quality;
    /// <summary>
    /// 图片
    /// </summary>
    public readonly string Icon;
    /// <summary>
    /// 基础等级属性系数 (属性 * (等级 * 系数))
    /// </summary>
    public readonly int[] LevelBaseAttributesFactors;
    /// <summary>
    /// 基础属性(value - value 区间)
    /// </summary>
    public readonly TbGEntity.TAttributeValue[][] BaseAttributes;
    /// <summary>
    /// 高级等级属性系数 (属性 * (等级 * 系数))
    /// </summary>
    public readonly int[] LevelHighAttributesFactors;
    /// <summary>
    /// 高级属性(value - value 区间)
    /// </summary>
    public readonly TbGEntity.TAttributeValue[][] HighAttributes;
    /// <summary>
    /// 高级词条随机数量
    /// </summary>
    public readonly int[] HighAttributeSize;
   
    public const int __ID__ = 1660355937;
    public override int GetTypeId() => __ID__;

    public  void ResolveRef(Tables tables)
    {
        
        
        
        
        
        
        
        
        
        
    }

    public override string ToString()
    {
        return "{ "
        + "id:" + Id + ","
        + "name:" + Name + ","
        + "position:" + Position + ","
        + "quality:" + Quality + ","
        + "icon:" + Icon + ","
        + "levelBaseAttributesFactors:" + Luban.StringUtil.CollectionToString(LevelBaseAttributesFactors) + ","
        + "baseAttributes:" + Luban.StringUtil.CollectionToString(BaseAttributes) + ","
        + "levelHighAttributesFactors:" + Luban.StringUtil.CollectionToString(LevelHighAttributesFactors) + ","
        + "highAttributes:" + Luban.StringUtil.CollectionToString(HighAttributes) + ","
        + "highAttributeSize:" + Luban.StringUtil.CollectionToString(HighAttributeSize) + ","
        + "}";
    }
}

}