--- 英雄皮肤 local Grid = require("bag.Grid") local BuyExcel = require("excel.buy").buy local BagLogic = require("bag.BagLogic") local HeroSkinExcel = require("excel.present").heroSkin local SkinExcel = require("excel.skin").skin local SkinLogic = require("skin.SkinLogic") local HeadFrameExcel = require("excel.role").headFrame local RoleHeadLogic = require("role.RoleHeadLogic") local GC_SKIN_QUERY = 14 local function genSkinUnit(human,id) local cfg = HeroSkinExcel[id] local buyCfg = BuyExcel[cfg.buyId] local region = human.region or "CN" local buyItem = { buyID = cfg.buyId, region = region, cost = buyCfg[region], icon = buyCfg.icon, name = buyCfg.name, desc = buyCfg.desc, yuanjia = buyCfg.oCN, zhekou = buyCfg.zhekou, ttl = cfg.ttl, } local skinId = cfg.content[1] local skinCfg = SkinExcel[skinId] local attrs = {} for _,v in pairs(skinCfg.attrs) do attrs[#attrs + 1] = { key = v[1], value = v[2], } end local iconframeId = cfg.content[2] local iconframeCfg = HeadFrameExcel[iconframeId] local headNet = {} headNet.id = iconframeId headNet.desc = iconframeCfg.desc or "" headNet.keepTime = iconframeCfg.keepTime headNet.name = iconframeCfg.name or "" headNet.camp = iconframeCfg.camp or 0 local len = #iconframeCfg.attrs headNet.attrs = {} for i = 1,len do headNet.attrs[i] = { key = iconframeCfg.attrs[i][1], value = iconframeCfg.attrs[i][2], } end return { id = id, buyItem = buyItem, skinData = { Id = skinId, attrs = attrs }, Iconframe = headNet } end ----------------------------------------- function query(human,panelId) local ret = {} for id,cfg in pairs(HeroSkinExcel) do if cfg.panelId == panelId then ret[#ret+1] = genSkinUnit(human,id) end end return { list = ret } end function buy(human,buyId) local skinCfg for _,cfg in pairs(HeroSkinExcel) do if cfg.buyId == buyId then skinCfg = cfg break end end assert(skinCfg,"invalid buyId") -- 解锁皮肤和头像 SkinLogic.skinUnlock(human,skinCfg.content[1]) --BagLogic.addItemList(human,skinCfg.content,"skin_buy") RoleHeadLogic.active(human,RoleHeadLogic.HEAD_TYPE_2,skinCfg.content[2]) end