local ItemData = require("bag.Proto").ItemData
local Attr = require("role.Proto").Attr
local EquipEffcect = require("bag.Proto").EQUIP_EFFCECT_DATA

PutEquip = {
   {"equip",  1,   ItemData},  -- 装备属性
   {"pos",    1,   "byte"},    -- 装备位置
}


-- 神器图鉴查询
CG_EQUIP_BOOK_QUERY = {
    { "rare", 1, "byte" },-- 稀有度
}

-- 神器图鉴查询回馈
GC_EQUIP_BOOK_QUERY = {
    { "rare", 1, "byte" },-- 稀有度
    { "list", 30, ItemData },
}

-- 装备背包改变
GC_EQUIP_BAG_CHANGE = {
    { "itemID", 1, "int" },
    { "itemIndex", 1, "short" },
    { "itemData", 2, ItemData },-- 只有新增/更改的时候长度为1 删除时长度为0
}

-- 装备背包列表
GC_EQUIP_BAG_LIST = {
    { "list", 30, ItemData }
}


-- 分解查询
CG_EQUIP_FEN_JIE_QUERY = {
    {"inputList", 50, "int"}
}

-- 分解查询
GC_EQUIP_FEN_JIE_QUERY = {
    {"list", 10, ItemData}
}

-- 分解操作
CG_EQUIP_FEN_JIE_DO = {
    {"inputList", 50, "int"}
}

GC_EQUIP_FEN_JIE_DO = {
}

-- 洗练查询
CG_EQUIP_RAMDOM_QUERY = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
}

-- 
GC_EQUIP_RAMDOM_QUERY = {
    {"equipOld",  1,   ItemData},    -- 当前属性
    {"equipNew",  2,   ItemData},    -- 当前洗练属性
    {"needItem",  5,   ItemData},    -- 当前洗练属性
}

-- 请求已穿戴的装备
CG_EQUIP_PUT_LIST = {
    {"pos",      1, "byte"},
}

--已穿戴装备
GC_EQUIP_PUT_LIST = {
    {"isEnd",      1,  "byte"},
    {"putList",   10,  PutEquip},    -- 穿戴的装备
}

-- 洗练
CG_EQUIP_RAMDOM_DO = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
}

-- 洗练保存
CG_EQUIP_RAMDOM_SAVE = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
}


-- 锁定/解锁洗练属性
CG_EQUIP_ATTR_LOCK = {
    {"bagIndex",    1,  "int"},
    {"heroUuid",    1,  "string"},
    {"pos",         1,  "byte"},
    {"opType",      1,  "byte"},    -- 操作类型, 0- 解锁 1- 锁定
    {"attrIdx",     1,  "byte"},    -- 属性索引
}

-- 取消未选择的新洗练属性
CG_EQUIP_RETUN_RANDOM_ATTR = {
    {"bagIndex",    1,  "int"},
    {"heroUuid",    1,  "string"},
    {"pos",         1,  "byte"},
}

-- 装备精炼查询
CG_EQUIP_REFINING_QUERY = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
}

-- 装备精炼查询回复
GC_EQUIP_REFINING_QUERY = {
    {"tEffectItem",         1,      ItemData},          -- 重置特效消耗物品
    {"tHeroItem",           1,      ItemData},          -- 重置英雄消耗物品
    {"tLefteffects",        3,      EquipEffcect},    -- 当前左边特性
    {"tLeftHero",           1,      "string"},              -- 当前左边英雄名
    {"tRighteffects",       3,      EquipEffcect},    -- 右边特性
    {"tRightHero",          1,      "string"},              -- 右边英雄名
}

-- 开始装备精炼
CG_EQUIP_REFINING_DO = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
    {"nOperate", 1, "byte"},        -- 1 重置特效 2 重置专属，3-2个都选择
}

-- 开始装备精炼回包
GC_EQUIP_REFINING_DO = {
    {"tLefteffects",        3,      EquipEffcect},    -- 当前左边特性
    {"tLeftHero",           1,      "string"},              -- 当前左边英雄名
    {"tRighteffects",       3,      EquipEffcect},    -- 右边特性
    {"tRightHero",          1,      "string"},              -- 右边英雄名
}

-- 放弃精炼
CG_EQUIP_REFINING_ABANDON = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
}

-- 确认装备精炼
CG_EQUIP_REFINING_SAVE = {
    {"bagIndex", 1, "int"},
    {"heroUuid", 1, "string"},
    {"pos",      1, "byte"},
}
