forked from endernon/PGRData
424 lines
No EOL
13 KiB
Lua
424 lines
No EOL
13 KiB
Lua
XPurchaseConfigs = XPurchaseConfigs or {}
|
|
-- local TABLE_PURCHASE_GIFT = "Share/Purchase/PurchasePackage.tab"
|
|
-- local TABLE_PURCHASE_ITEM = "Share/Purchase/PurchaseItem.tab"
|
|
-- local TABLE_PAY = "Share/Pay/Pay.tab"
|
|
local TABLE_PURCHASE_ICON_ASSETPATH = "Client/Purchase/PurchaseIconAssetPath.tab"
|
|
local TABLE_PURCHASE_TAB_CONTROL = "Client/Purchase/PurchaseTabControl.tab"
|
|
local TABLE_PURCHASE_UITYPE = "Client/Purchase/PurchaseUiType.tab"
|
|
local TABLE_PURCHASE_TAGTYPE = "Client/Purchase/PurchaseTagType.tab"
|
|
local TABLE_ACCUMULATED_PAY = "Share/Pay/AccumulatedPay.tab"
|
|
local TABLE_ACCUMULATED_PAY_REWARD = "Share/Pay/AccumulatedPayReward.tab"
|
|
local TABLE_LB_BY_PASS = "Client/Purchase/PurchaseLBByPass.tab"
|
|
local TABLE_PACKAGE_YK_CLIENT_CONFIG = "Client/Purchase/PurchasePackageYKUiConfig.tab" -- 礼包月卡配置
|
|
local TABLE_EXCHANGE_UI_CONFIG = "Client/Purchase/PurchaseExchangeUiConfig.tab" -- 兑换
|
|
local TABLE_PAY_UI_CONFIG = "Client/Purchase/PurchasePayUiConfig.tab" -- 充值
|
|
|
|
|
|
-- local PayConfig = {}
|
|
local PurchaseIconAssetPathConfig = {}
|
|
local PurchaseTabControlConfig = {}
|
|
local PurchaseUiTypeConfig = {}
|
|
local PurchaseTagTypeConfig = {}
|
|
|
|
local AccumulatedPayConfig = {}
|
|
local AccumulatedPayRewardConfig = {}
|
|
local PurchaseLBByPassConfig = {}
|
|
|
|
local PurchaseUiTypeGroupConfig = nil
|
|
|
|
local PurchaseTabGroupConfig = nil
|
|
local PurchaseTabByUiTypeConfig = nil
|
|
local PurchasePayUiTypeConfig = nil
|
|
local PurchaseLBUiTypeListConfig = nil
|
|
local PurchaseLBUiTypeDicConfig = nil
|
|
local PurchaseYKUiTypeConfig = nil
|
|
local PurchaseHKUiTypeConfig = nil
|
|
local PurchaseLBByPassIDDic = nil
|
|
|
|
-- 月卡Id
|
|
XPurchaseConfigs.YKID = CS.XGame.Config:GetInt("YKPurchasePackageId")
|
|
|
|
XPurchaseConfigs.PurchaseDataConfig = {
|
|
Pay = 1, --充值
|
|
LB = 2, --礼包
|
|
YK = 3, --月卡
|
|
HKDH = 4, --黑卡兑换
|
|
HKShop = 5, --黑卡商店
|
|
}
|
|
|
|
XPurchaseConfigs.TabsConfig = {
|
|
Recommend = 0, -- 推荐
|
|
Pay = 1, --充值
|
|
LB = 2, --礼包
|
|
YK = 3, --月卡
|
|
HK = 4--黑卡
|
|
}
|
|
|
|
XPurchaseConfigs.UiPurchaseTopType = {
|
|
Pay = 1, -- 充值
|
|
Package = 2, -- 礼包
|
|
VipCard = 3, -- 月卡
|
|
Exchange = 4, -- 兑换
|
|
Recommend = 5, -- 推荐
|
|
}
|
|
|
|
XPurchaseConfigs.ConsumeTypeConfig = {
|
|
RMB = 1, --人名币
|
|
ITEM = 2, --道具
|
|
FREE = 3, --免费
|
|
}
|
|
|
|
XPurchaseConfigs.RestTypeConfig = {
|
|
Day = 0, --每日
|
|
Week = 1, --每周
|
|
Month = 2, --每月
|
|
Interval = 3, --间隔
|
|
RemainDay = 4,
|
|
}
|
|
|
|
XPurchaseConfigs.LBGetTypeConfig = {
|
|
Direct = 1, --直接
|
|
Day = 2, --每日
|
|
}
|
|
|
|
XPurchaseConfigs.PanelNameConfig = {
|
|
PanelRecharge = "PanelRecharge",
|
|
PanelLb = "PanelLb",
|
|
PanelYk = "PanelYk",
|
|
PanelHksd = "PanelHksd",
|
|
PanelDh = "PanelDh",
|
|
PanelTj = "PanelTj",
|
|
}
|
|
|
|
XPurchaseConfigs.PanelExNameConfig = {
|
|
PanelRecharge = "PanelRechargeEx",
|
|
PanelLb = "PanelLbEx",
|
|
PanelYk = "PanelYkEx",
|
|
PanelHksd = "PanelHksdEx",
|
|
PanelDh = "PanelDhEx",
|
|
PanelCoatingLb = "PanelCoatingLbEx"
|
|
}
|
|
|
|
XPurchaseConfigs.TabExConfig = {
|
|
Sample = 1, --没有页签
|
|
EXTable = 2, --左边有页签
|
|
}
|
|
|
|
XPurchaseConfigs.PurchaseRewardAddState = {
|
|
CanGet = 1, --能领,没有领。
|
|
Geted = 2, --已经领
|
|
CanotGet = 3, --不能领,钱不够。
|
|
}
|
|
|
|
XPurchaseConfigs.PurchaseTagType = {
|
|
Normal = 0, -- 默认
|
|
Discount = 1 -- 打折
|
|
}
|
|
|
|
XPurchaseConfigs.PayAddType = {
|
|
Activity = 1, -- 活动累充类型
|
|
Forever = 2, -- 永久累充类型
|
|
}
|
|
|
|
-- 累积充值显示状态
|
|
XPurchaseConfigs.LjczLookState = {
|
|
Hide = 1,
|
|
Show = 2,
|
|
}
|
|
|
|
XPurchaseConfigs.UiType = {
|
|
Pay = 1, --充值
|
|
CoatingLB = 8, -- 皮肤补给包
|
|
}
|
|
|
|
XPurchaseConfigs.RecommendSkipType = {
|
|
Lb = 1, -- 礼包页签跳转
|
|
SkipId = 2, -- 配置SkilId跳转
|
|
}
|
|
|
|
XPurchaseConfigs.YKType =
|
|
{
|
|
Day = 14, --日卡
|
|
--Week = 13, --周卡
|
|
Month = 2, --月卡
|
|
}
|
|
|
|
XPurchaseConfigs.LjczLookStateKey = "LJCZ_LOOK_STATE_KEY"
|
|
XPurchaseConfigs.PurchaseLJCZDefaultLookStateKey = "PurchaseLJCZDefaultLookState"
|
|
|
|
function XPurchaseConfigs.Init()
|
|
XPurchaseConfigs.PurChaseGiftTips = CS.XGame.ClientConfig:GetInt("PurChaseGiftTips") or 1
|
|
XPurchaseConfigs.PurChaseCardId = CS.XGame.ClientConfig:GetInt("PurchaseCardId")
|
|
XPurchaseConfigs.PurYKContinueBuyDays = CS.XGame.ClientConfig:GetInt("PurYKContinueBuyDays") or 0
|
|
|
|
|
|
-- PayConfig = XTableManager.ReadByStringKey(TABLE_PAY, XTable.XTablePay, "Key")
|
|
PurchaseIconAssetPathConfig = XTableManager.ReadByStringKey(TABLE_PURCHASE_ICON_ASSETPATH, XTable.XTablePurchaseIconAssetPath, "Icon")
|
|
PurchaseTabControlConfig = XTableManager.ReadByStringKey(TABLE_PURCHASE_TAB_CONTROL, XTable.XTablePurchaseTabControl, "Id")
|
|
PurchaseUiTypeConfig = XTableManager.ReadByIntKey(TABLE_PURCHASE_UITYPE, XTable.XTablePurchaseUiType, "UiType")
|
|
PurchaseTagTypeConfig = XTableManager.ReadByIntKey(TABLE_PURCHASE_TAGTYPE, XTable.XTablePurchaseTagType, "Tag")
|
|
AccumulatedPayConfig = XTableManager.ReadByIntKey(TABLE_ACCUMULATED_PAY, XTable.XTableAccumulatedPay, "Id")
|
|
AccumulatedPayRewardConfig = XTableManager.ReadByIntKey(TABLE_ACCUMULATED_PAY_REWARD, XTable.XTableAccumulatedPayReward, "Id")
|
|
-- PurchaseLBByPassConfig = XTableManager.ReadByIntKey(TABLE_LB_BY_PASS, XTable.XTablePurchaseLBByPass, "Id")
|
|
|
|
|
|
XConfigCenter.CreateGetPropertyByFunc(XPurchaseConfigs, "PurchasePackageYKUiConfig", function()
|
|
return XTableManager.ReadByIntKey(TABLE_PACKAGE_YK_CLIENT_CONFIG, XTable.XTablePurchasePackageYKUiConfig, "Id")
|
|
end)
|
|
|
|
XConfigCenter.CreateGetPropertyByFunc(XPurchaseConfigs, "PurchaseExchangeUiConfig", function()
|
|
return XTableManager.ReadByIntKey(TABLE_EXCHANGE_UI_CONFIG, XTable.XTablePurchaseExchangeUiConfig, "Id")
|
|
end)
|
|
|
|
XConfigCenter.CreateGetPropertyByFunc(XPurchaseConfigs, "PurchasePayUiConfig", function()
|
|
return XTableManager.ReadByStringKey(TABLE_PAY_UI_CONFIG, XTable.XTablePurchasePayUiConfig, "Key")
|
|
end)
|
|
|
|
|
|
end
|
|
|
|
function XPurchaseConfigs.GetIconPathByIconName(iconName)
|
|
return PurchaseIconAssetPathConfig[iconName]
|
|
end
|
|
|
|
function XPurchaseConfigs.GetPurchaseLBByPassIDDic()
|
|
if PurchaseLBByPassIDDic then
|
|
return PurchaseLBByPassIDDic
|
|
end
|
|
|
|
PurchaseLBByPassIDDic = {}
|
|
PurchaseLBByPassConfig = XTableManager.ReadByIntKey(TABLE_LB_BY_PASS, XTable.XTablePurchaseLBByPass, "Id") or {}
|
|
for _, v in pairs(PurchaseLBByPassConfig) do
|
|
if v then
|
|
PurchaseLBByPassIDDic[v.LBId] = v.LBId
|
|
end
|
|
end
|
|
return PurchaseLBByPassIDDic
|
|
end
|
|
|
|
function XPurchaseConfigs.IsLBByPassID(id)
|
|
if not id then
|
|
return false
|
|
end
|
|
|
|
local config = XPurchaseConfigs.GetPurchaseLBByPassIDDic()
|
|
if config then
|
|
return config[id] ~= nil
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
function XPurchaseConfigs.GetGroupConfigType()
|
|
if not PurchaseTabGroupConfig then
|
|
PurchaseTabGroupConfig = {}
|
|
local isHideFunc = false --海外不屏蔽礼包
|
|
-- PurchaseTabControlConfig : PurchaseTabControl
|
|
for _, v in pairs(PurchaseTabControlConfig) do
|
|
if v.IsOpen == 1 and not (isHideFunc and v.UiType ~= XPurchaseConfigs.UiType.Pay) then -- 仅保留充值入口
|
|
-- 分组
|
|
if not PurchaseTabGroupConfig[v.GroupId] then
|
|
local d = {}
|
|
d.GroupOrder = v.GroupOrder
|
|
d.GroupName = v.GroupName
|
|
d.GroupId = v.GroupId
|
|
d.GroupIcon = v.GroupIcon
|
|
d.Childs = {}
|
|
d.ReqUiTypes = v.ReqUiTypes or {}
|
|
PurchaseTabGroupConfig[v.GroupId] = d
|
|
else
|
|
-- 如果已经有组了,更新最小的排序
|
|
local groupOrder = PurchaseTabGroupConfig[v.GroupId].GroupOrder
|
|
if groupOrder > v.GroupOrder then
|
|
PurchaseTabGroupConfig[v.GroupId].GroupOrder = v.GroupOrder
|
|
end
|
|
-- 追加需要请求的UiTypes
|
|
PurchaseTabGroupConfig[v.GroupId].ReqUiTypes =
|
|
appendArray(PurchaseTabGroupConfig[v.GroupId].ReqUiTypes, v.ReqUiTypes)
|
|
end
|
|
-- 插入配置
|
|
table.insert(PurchaseTabGroupConfig[v.GroupId].Childs, v)
|
|
end
|
|
if PurchaseTabGroupConfig[v.GroupId] then
|
|
-- 子页面排序
|
|
table.sort(PurchaseTabGroupConfig[v.GroupId].Childs, function(a, b)
|
|
return a.GroupOrder < b.GroupOrder
|
|
end)
|
|
end
|
|
end
|
|
-- 组排序
|
|
table.sort(PurchaseTabGroupConfig, function(a, b)
|
|
return a.GroupOrder < b.GroupOrder
|
|
end)
|
|
end
|
|
return PurchaseTabGroupConfig
|
|
end
|
|
|
|
function XPurchaseConfigs.GetUiTypeGroupConfig()
|
|
if not PurchaseUiTypeGroupConfig then
|
|
PurchaseUiTypeGroupConfig = {}
|
|
XPurchaseConfigs.GetGroupConfigType()
|
|
for _, v in pairs(PurchaseUiTypeConfig) do
|
|
if not PurchaseUiTypeGroupConfig[v.GroupType] then
|
|
PurchaseUiTypeGroupConfig[v.GroupType] = {}
|
|
end
|
|
|
|
table.insert(PurchaseUiTypeGroupConfig[v.GroupType], v)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- 参数XPurchaseConfigs.TabsConfig,所有的uiType
|
|
function XPurchaseConfigs.GetUiTypesByTab(t)
|
|
XPurchaseConfigs.GetUiTypeGroupConfig()
|
|
return PurchaseUiTypeGroupConfig[t]
|
|
end
|
|
|
|
-- 充值的uiType
|
|
function XPurchaseConfigs.GetPayUiTypes()
|
|
if not PurchasePayUiTypeConfig then
|
|
PurchasePayUiTypeConfig = {}
|
|
local cfg = XPurchaseConfigs.GetUiTypesByTab(XPurchaseConfigs.TabsConfig.Pay)
|
|
for _, v in pairs(cfg) do
|
|
PurchasePayUiTypeConfig[v.UiType] = v.UiType
|
|
end
|
|
end
|
|
|
|
return PurchasePayUiTypeConfig
|
|
end
|
|
|
|
-- 礼包的uiType的list
|
|
function XPurchaseConfigs.GetLBUiTypesList()
|
|
if not PurchaseLBUiTypeListConfig then
|
|
PurchaseLBUiTypeListConfig = {}
|
|
local cfg = XPurchaseConfigs.GetUiTypesByTab(XPurchaseConfigs.TabsConfig.LB)
|
|
for _, v in pairs(cfg) do
|
|
table.insert(PurchaseLBUiTypeListConfig, v.UiType)
|
|
end
|
|
end
|
|
|
|
return PurchaseLBUiTypeListConfig
|
|
end
|
|
|
|
-- 礼包的uiType的Dic
|
|
function XPurchaseConfigs.GetLBUiTypesDic()
|
|
if not PurchaseLBUiTypeDicConfig then
|
|
PurchaseLBUiTypeDicConfig = {}
|
|
local cfg = XPurchaseConfigs.GetUiTypesByTab(XPurchaseConfigs.TabsConfig.LB)
|
|
for _, v in pairs(cfg) do
|
|
table.insert(PurchaseLBUiTypeDicConfig, v.UiType)
|
|
end
|
|
end
|
|
|
|
return PurchaseLBUiTypeDicConfig
|
|
end
|
|
|
|
-- 月卡的uiType
|
|
function XPurchaseConfigs.GetYKUiTypes()
|
|
if not PurchaseYKUiTypeConfig then
|
|
PurchaseYKUiTypeConfig = {}
|
|
local cfg = XPurchaseConfigs.GetUiTypesByTab(XPurchaseConfigs.TabsConfig.YK) or {}
|
|
for _, v in pairs(cfg) do
|
|
table.insert(PurchaseYKUiTypeConfig, v.UiType)
|
|
end
|
|
end
|
|
|
|
return PurchaseYKUiTypeConfig
|
|
end
|
|
|
|
-- 黑卡的uiType
|
|
function XPurchaseConfigs.GetHKUiTypes()
|
|
if not PurchaseHKUiTypeConfig then
|
|
PurchaseHKUiTypeConfig = {}
|
|
local cfg = XPurchaseConfigs.GetUiTypesByTab(XPurchaseConfigs.TabsConfig.HK)
|
|
for _, v in pairs(cfg) do
|
|
table.insert(PurchaseHKUiTypeConfig, v.UiType)
|
|
end
|
|
end
|
|
|
|
return PurchaseHKUiTypeConfig
|
|
end
|
|
|
|
function XPurchaseConfigs.GetTabControlUiTypeConfig()
|
|
if not PurchaseTabByUiTypeConfig then
|
|
PurchaseTabByUiTypeConfig = {}
|
|
for _, v in pairs(PurchaseTabControlConfig) do
|
|
PurchaseTabByUiTypeConfig[v.UiType] = v
|
|
end
|
|
end
|
|
|
|
return PurchaseTabByUiTypeConfig
|
|
end
|
|
|
|
function XPurchaseConfigs.GetUiTypeConfigByType(uiType)
|
|
return PurchaseUiTypeConfig[uiType]
|
|
end
|
|
|
|
function XPurchaseConfigs.GetTagDes(tag)
|
|
if not PurchaseTagTypeConfig[tag] then
|
|
return ""
|
|
end
|
|
return PurchaseTagTypeConfig[tag].Des
|
|
end
|
|
|
|
function XPurchaseConfigs.GetTagBgPath(tag)
|
|
if not PurchaseTagTypeConfig[tag] then
|
|
return nil
|
|
end
|
|
return PurchaseTagTypeConfig[tag].Style
|
|
end
|
|
|
|
function XPurchaseConfigs.GetTagEffectPath(tag)
|
|
if not PurchaseTagTypeConfig[tag] then
|
|
return nil
|
|
end
|
|
return PurchaseTagTypeConfig[tag].Effect
|
|
end
|
|
|
|
function XPurchaseConfigs.GetTagType(tag)
|
|
if not PurchaseTagTypeConfig[tag] then
|
|
return nil
|
|
end
|
|
return PurchaseTagTypeConfig[tag].Type
|
|
end
|
|
|
|
function XPurchaseConfigs.GetAccumulatePayConfigById(id)
|
|
if not id or not AccumulatedPayConfig[id] then
|
|
return
|
|
end
|
|
|
|
return AccumulatedPayConfig[id]
|
|
end
|
|
|
|
function XPurchaseConfigs.GetAccumulateRewardConfigById(id)
|
|
if not id or not AccumulatedPayRewardConfig[id] then
|
|
return
|
|
end
|
|
|
|
return AccumulatedPayRewardConfig[id]
|
|
end
|
|
|
|
function XPurchaseConfigs.GetUiTypesByUiPurchaseTopType(topType)
|
|
local configs = XPurchaseConfigs.GetGroupConfigType()
|
|
local uiTypes = {}
|
|
for _, config in pairs(configs) do
|
|
if config.GroupId == topType then
|
|
for _, child in pairs(config.Childs) do
|
|
table.insert(uiTypes, child.UiType)
|
|
end
|
|
uiTypes = appendArray(uiTypes, config.ReqUiTypes)
|
|
uiTypes = table.unique(uiTypes, true)
|
|
break
|
|
end
|
|
end
|
|
return uiTypes
|
|
end
|
|
|
|
function XPurchaseConfigs.GetPayNormalAndSelectIcon(payKey)
|
|
local config = XPurchaseConfigs.GetPurchasePayUiConfig(payKey)
|
|
if not config then
|
|
XLog.Error("payKey to get is nil", payKey)
|
|
return
|
|
end
|
|
return config.NormalIcon, config.SelectIcon
|
|
end |