| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- --- 英雄皮肤
- 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
|