源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

730 lines
24 KiB

CompetingListModel = CompetingListModel or BaseClass(BaseVo, true)
local CompetingListModel = CompetingListModel
CompetingListModel.REQUEST_INFO = "CompetingListModel.REQUEST_INFO"
CompetingListModel.OPEN_COMPETING_LIST_VIEW = "CompetingListModel.OPEN_COMPETING_LIST_VIEW"--打开主界面
CompetingListModel.UPDATE_COMPETING_LIST_VIEW = "CompetingListModel.UPDATE_COMPETING_LIST_VIEW"--更新主界面
CompetingListModel.REQUEST_INFO = "CompetingListModel.REQUEST_INFO"--请求协议
CompetingListModel.OPEN_COMPETING_LIST_RESULT_VIEW = "CompetingListModel.OPEN_COMPETING_LIST_RESULT_VIEW"--打开结算界面
CompetingListModel.CLOSE_LUCK_DRAW_RESULT_VIEW = "CompetingListModel.CLOSE_LUCK_DRAW_RESULT_VIEW"--关闭结算界面
CompetingListModel.UPDATE_HUNT_RECORD = "CompetingListModel.UPDATE_HUNT_RECORD"--更新记录数据
CompetingListModel.OPEN_COMPETING_LIST_TIP_VIEW = "CompetingListModel.OPEN_COMPETING_LIST_TIP_VIEW"--打开竞榜提示界面
CompetingListModel.UPDATE_BOX_AWARD = "CompetingListModel.UPDATE_BOX_AWARD"--更新宝箱领取信息
CompetingListModel.UPDATE_RANK_INFO = "CompetingListModel.UPDATE_RANK_INFO"--更新排名
CompetingListModel.UPDATE_FONTANI_VIEW = "CompetingListModel.UPDATE_FONTANI_VIEW"--更新许愿池界面
CompetingListModel.OPEN_FONTANI_VIEW = "CompetingListModel.OPEN_FONTANI_VIEW"--打开许愿池界面
CompetingListModel.OPEN_COMPETING_LIST_AWARD_SHOW_VIEW = "CompetingListModel.OPEN_COMPETING_LIST_AWARD_SHOW_VIEW"--奖池道具展示界面
function CompetingListModel:__init()
CompetingListModel.Instance = self
self:Reset()
end
function CompetingListModel:Reset()
self.view_info = {}--界面信息
self.award_cfg = {}--展示奖励配置
self.fontani_award_cfg = {}--许愿池展示奖励配置
self.box_award_cfg = {}--宝箱奖励配置
self.rank_award_cfg = {}--排行奖励配置
self.rank_score_cfg = {}--排行积分信息配置
self.record = {}--记录数据
self.next_show_state_list = {} --下次是否打开相关功能的提示列表
self.const_cfg = {}--常量配置
self.result_info = {}--结算界面信息
self.is_open_view_list = {}--打开过的界面列表
self.cur_view_type_list = {}--当前界面类型列表
self.competing_buy_toggle = {}--竞榜购买toggle
self.red_info_list = {}--红点信息列表
self.is_open_view = false
self:InitRankScoreCFG()
self:InitBoxAwardCFG()
self:InitRankCFG()
self:InitTvCFG()
self:InitConstCfg()
end
function CompetingListModel:getInstance()
if CompetingListModel.Instance == nil then
CompetingListModel.Instance = CompetingListModel.New()
end
return CompetingListModel.Instance
end
--检查界面是否打开过
function CompetingListModel:CheckViewIsOpened( base_type )
return self.is_open_view_list[base_type]
end
--设置界面是否打开过
function CompetingListModel:SetViewIsOpened( base_type )
self.is_open_view_list[base_type] = base_type
end
--检查界面奖励展示类型
function CompetingListModel:GetCurViewType( base_type )
return self.cur_view_type_list[base_type]
end
--设置界面奖励展示类型
function CompetingListModel:SetCurViewType( base_type,type )
self.cur_view_type_list[base_type] = type
end
--彩钻购买提示
function CompetingListModel:CheckIsNeedToShowView(tips_type)
local show = self.next_show_state_list[tips_type]
if show == nil then
show = true
end
return show
end
--初始化竞榜界面显示配置
function CompetingListModel:InitComptingIconCfg( )
if not self.view_cfg then
self.view_cfg = {}
self:InitViewCfg()
end
end
--界面显示配置初始化
function CompetingListModel:InitViewCfg( )
local data = DeepCopy(Config.Raceranktime)
local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
for k,v in pairs(data) do
v.condition = stringtotable(v.condition)
v.open_day = stringtotable(v.open_day)
v.name = Trim(v.name)
if tonumber(v.open_day[1]) <= openDay and tonumber(v.open_day[2]) >= openDay then--在开服天数区间范围内
self.view_cfg[v.act_id] = v
if v.type == 1 then
local icon_cfg = {name=v.name, icon_type = 33300000 + v.act_id, sub_location = 3, pos_index = 31, module_id = 333, sub_id = nil, open_lv = v.lv, icon_name = "icon_rightTop_3001" or Trim(v.icon_res), effect_name = "effect_tubiao_001", not_delete = false, count_down_time = 0,act_base_type=true}
ActivityIconManager:getInstance().icon_cfg_new_list[icon_cfg.icon_type] = icon_cfg
elseif v.type == 2 then
local icon_cfg = {name=v.name, icon_type = 1033300000 + v.act_id, sub_location = 3, pos_index = 31, module_id = 333, open_lv = v.lv, icon_name = Trim(v.icon_res), effect_name = "effect_tubiao_001", not_delete = false, count_down_time = 0,act_base_type=true}
ActivityIconManager:getInstance().icon_cfg_new_list[icon_cfg.icon_type] = icon_cfg
end
end
end
GlobalEventSystem:Fire(ActivityIconManager.REFRESH_ICON, true)
end
--设置常量配置
function CompetingListModel:InitConstCfg( )
for k,v in pairs(Config.Racerankconstant) do
local key = Trim(v.key)
self.const_cfg[key] = v
end
if self.const_cfg["rock_cost_1"] then
self.one_cost_data = stringtotable(self.const_cfg["rock_cost_1"].value)
end
if self.const_cfg["rock_cost_10"] then
self.ten_cost_data = stringtotable(self.const_cfg["rock_cost_10"].value)
end
self.one_score = 0
if self.const_cfg["rock_score_1"] then
self.one_score = self.const_cfg["rock_score_1"].value
end
if self.const_cfg["wish_cost_rune"] then--符文消耗道具
self.wish_cost_rune = self.const_cfg["wish_cost_rune"].value
end
if self.const_cfg["wish_cost_coin"] then--符文消耗道具
self.wish_cost_coin = self.const_cfg["wish_cost_coin"].value
end
if self.const_cfg["wish_score_rune"] then--符文许愿获得积分
self.wish_score_rune = self.const_cfg["wish_score_rune"].value
end
if self.const_cfg["wish_score_coin"] then--金币许愿获得积分
self.wish_score_coin = self.const_cfg["wish_score_coin"].value
end
if self.const_cfg["discount_opday"] then--开服x天后进行打折
self.discount_opday = self.const_cfg["discount_opday"].value
end
if self.const_cfg["discount_rate"] then--开服x天后进行打折
self.discount_rate = stringtotable(self.const_cfg["discount_rate"].value)
end
if self.const_cfg["discount_times"] then--每期活动打折最大次数
self.discount_times = self.const_cfg["discount_times"].value
end
local one_data = self.one_cost_data[1]
local ten_data = self.ten_cost_data[1]
if not one_data or not ten_data then return end
self.cost_id = one_data[2]
self.one_cost = one_data[3]
self.ten_cost = ten_data[3]
self.discount_cfg = {}--打折配置
local cfg = DeepCopy(Config.Racerankdiscount)
for i,v in ipairs(cfg) do
if v.is_show == 1 then
local count = #self.discount_cfg + 1
self.discount_cfg[count] = v
if v.cost_list then
local goods_list = stringtotable(v.cost_list)
if goods_list and goods_list[1] then
self.discount_cfg[count].discount = goods_list[1][3]
end
end
end
end
end
--通过subtype得到右边奖励数据
function CompetingListModel:GetRankAwardCfg( base_type,stage )
if self.rank_award_cfg[base_type] and self.rank_award_cfg[base_type][stage] then
return self.rank_award_cfg[base_type][stage]
end
return nil
end
--设置展示排行榜奖励配置
function CompetingListModel:InitRankCFG( )
local data = DeepCopy(Config.Racerankrankaward)
for k,v in pairs(data) do
if not self.rank_award_cfg[v.act_id] then
self.rank_award_cfg[v.act_id] = {}
end
v.award = stringtotable(v.award)
if not self.rank_award_cfg[v.act_id][v.stage] then
self.rank_award_cfg[v.act_id][v.stage] = {}
end
self.rank_award_cfg[v.act_id][v.stage][v.min_rank] = v
end
end
--通过base_type得到右边奖励数据
function CompetingListModel:GetRankScoreCfg( base_type )
if self.rank_score_cfg[base_type] then
return self.rank_score_cfg[base_type]
end
return nil
end
--设置展示排行榜积分配置
function CompetingListModel:InitRankScoreCFG( )
local data = DeepCopy(Config.Racerankrequirement)
for k,v in pairs(data) do
if not self.rank_score_cfg[v.act_id] then
self.rank_score_cfg[v.act_id] = {}
end
self.rank_score_cfg[v.act_id][v.ranking_lower] = v
end
local min = 0
local max = 0
for k,v in pairs(self.rank_score_cfg) do
for kk,vv in pairs(v) do
if type(vv) == "table" and vv.ranking_upper and vv.ranking_lower then
min = vv.ranking_upper
max = vv.ranking_lower
if max > min then
for i=min,max do
if not v[i] then
v[i] = vv
end
end
end
end
end
end
end
--通过subtype得到右边奖励数据
function CompetingListModel:GetAwardCfg( base_type,stage )
if self.award_cfg[base_type] and self.award_cfg[base_type][stage] then
return self.award_cfg[base_type][stage]
end
return nil
end
--设置展示奖池奖励配置
function CompetingListModel:InitTvCFG( )
local data = DeepCopy(Config.Racerankaward)
for k,v in pairs(data) do
v.award = stringtotable(v.award)
if v.type == 0 then
if not self.award_cfg[v.act_id] then
self.award_cfg[v.act_id] = {}
end
if not self.award_cfg[v.act_id][v.stage] then
self.award_cfg[v.act_id][v.stage] = {}
end
if v.award[1] then
self.award_cfg[v.act_id][v.stage][v.award_id] = v.award[1]
end
else
if not self.fontani_award_cfg[v.act_id] then
self.fontani_award_cfg[v.act_id] = {}
end
if not self.fontani_award_cfg[v.act_id][v.type] then
self.fontani_award_cfg[v.act_id][v.type] = {}
end
if not self.fontani_award_cfg[v.act_id][v.type][v.stage] then
self.fontani_award_cfg[v.act_id][v.type][v.stage] = {}
end
if v.award[1] then
self.fontani_award_cfg[v.act_id][v.type][v.stage][v.award_id] = v.award[1]
end
end
end
end
--获得宝箱奖励配置 通过类型and stage
function CompetingListModel:GetBoxAwardCFGByType( base_type,stage )
if self.box_award_cfg[base_type] and self.box_award_cfg[base_type][stage] then
return self.box_award_cfg[base_type][stage]
end
return nil
end
--初始化宝箱奖励配置
function CompetingListModel:InitBoxAwardCFG( )
local data = DeepCopy(Config.Raceranktimesaward)
for k,v in pairs(data) do
if not self.box_award_cfg[v.act_id] then
self.box_award_cfg[v.act_id] = {}
end
v.award = stringtotable(v.award)
if not self.box_award_cfg[v.act_id][v.stage] then
self.box_award_cfg[v.act_id][v.stage] = {}
end
self.box_award_cfg[v.act_id][v.stage][v.award_id] = v
end
-- print("huangcong:CompetingListModel [128]: ",self.box_award_cfg)
-- PrintTable(self.box_award_cfg)
end
--获得当前世界等级阶段
function CompetingListModel:GetCurWorldLvStage( )
local worldLv = RoleManager.Instance.mainRoleInfo.worldLv or 0
for i,v in ipairs(Config.Racerankworldlev) do
if v.max_lev >= worldLv then
return v.stage
end
end
end
--检测竞榜和图标是否需要开启
function CompetingListModel:CheckIconBoolOpen(base_type)
local level = RoleManager.Instance.mainRoleInfo.level
local is_open = false
local end_time = 0
local server_data = self.view_info[base_type]
-- local key = string.format("%s@%s",333,base_type)
local sub_base_type = 33300000
local cfg = self.view_cfg[base_type]
if cfg and cfg.type and cfg.type == 2 then
sub_base_type = 1033300000
end
if server_data and server_data.end_show_time and self.view_cfg[base_type] and level >= self.view_cfg[base_type].lv then
is_open = server_data.end_show_time - TimeUtil:getServerTime()
is_open2 = server_data.end_time - TimeUtil:getServerTime()
print("huangcong:CompetingListModel [317]: ",sub_base_type+base_type)
if is_open > 0 then
if is_open2 > 0 then
ActivityIconManager:getInstance():addIcon(sub_base_type+base_type, is_open2)
else
ActivityIconManager:getInstance():addIcon(sub_base_type+base_type, is_open, "已截止")
end
else
ActivityIconManager:getInstance():deleteIcon(sub_base_type+base_type)
end
else
ActivityIconManager:getInstance():deleteIcon(sub_base_type+base_type)
end
end
--检查竞榜和许愿池图标红点
function CompetingListModel:CheckMainIconRedDot(base_type)
local bool = false
if base_type then
local server_data = self.view_info[base_type]
local sub_base_type = 33300000
if server_data then
if server_data.type and server_data.type == 2 then
sub_base_type = 1033300000
end
local is_open = server_data.end_time - TimeUtil:getServerTime()
if is_open and is_open > 0 and server_data.type == 1 and server_data.free_times and server_data.free_times > 0 then
bool = true
end
if server_data.gold_coin and server_data.gold_coin >= 1 then
bool = true
end
if server_data.award_list then
for k,v in pairs(server_data.award_list) do
if v.state == 1 then
bool = true
break
end
end
end
end
-- print("huangcong:CompetingListModel [start:373] :", self.red_info_list)
-- PrintTable(self.red_info_list)
-- print("huangcong:CompetingListModel [end]")
self.red_info_list[base_type] = bool
KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.Competing,nil,base_type)--竞榜
GlobalEventSystem:Fire(ActivityIconManager.UPDATE_ICON_TIPS, sub_base_type+base_type, bool)
return
end
end
function CompetingListModel:SetViewInfoOne( v )
if not self.view_info[v.base_type] then
print("huangcong:CompetingListModel [237]竞榜活动数据有问题: ",v.base_type)
return
end
local new_data = {}
for kk,vv in pairs(v.award_list) do
new_data[vv.id] = vv
end
v.reward_list = new_data
local record_data = {}
for kk,vv in pairs(v.rank_list) do
record_data[vv.rank] = vv
end
v.rank_list = record_data
self.view_info[v.base_type].buy_times = v.buy_times
self.view_info[v.base_type].free_times = v.free_times
self.view_info[v.base_type].sum_score = v.sum_score
self.view_info[v.base_type].award_list = new_data
self.view_info[v.base_type].times = times
self.view_info[v.base_type].rank_list = record_data
self:CheckMainIconRedDot(v.base_type)
end
function CompetingListModel:SetViewInfoBase( v )
local new_data = {}
if not self.view_info[v.base_type] then
self.view_info[v.base_type] = {}
end
self.view_info[v.base_type].end_time = v.end_time
self.view_info[v.base_type].end_show_time = v.end_show_time
self.view_info[v.base_type].world_stage = v.world_stage
local is_open = v.end_show_time - TimeUtil:getServerTime() > 0
-- print("huangcong:CompetingListModel [264]is_open: ",v.base_type,is_open)
local cfg = self.view_cfg[v.base_type]
if is_open and cfg then
if cfg.type == 1 then
local function callback( ... )
CompetingListModel:getInstance():Fire(CompetingListModel.REQUEST_INFO,33301,v.base_type)
end
setTimeout(callback,0.05)
elseif cfg.type == 2 then
local function callback( ... )
CompetingListModel:getInstance():Fire(CompetingListModel.REQUEST_INFO,33305,v.base_type)
end
setTimeout(callback,0.05)
end
end
-- self:CheckIconBoolOpen(v.base_type)--20200831--这里要合到开服活动页签里去 所以屏蔽图标检查
end
--设置抽奖结果
function CompetingListModel:SetResult( vo )
if not vo or not vo.base_type then return end
if not self.result_info[vo.base_type] then
self.result_info[vo.base_type] = {}
end
self.result_info[vo.base_type] = vo
local new_award_list = {}
for k,v in ipairs(vo.reward_list) do
if self.award_cfg[vo.base_type] and self.award_cfg[vo.base_type][vo.stage] and self.award_cfg[vo.base_type][vo.stage][v.award_id] then
local data = self.award_cfg[vo.base_type][vo.stage][v.award_id]
if data then
new_award_list[#new_award_list + 1] = data
end
end
end
local data = {}
data.award = new_award_list
data.col_num = 5
-- GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, data)
GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, new_award_list)
self.result_info[vo.base_type].reward_list = new_award_list
-- print("huangcong:CompetingListModel [448]vo: ",vo)
-- PrintTable(vo)
end
--获取打开界面状态
function CompetingListModel:getIsOpenView()
return self.is_open_view
end
--是否进入打折期
function CompetingListModel:IsDiscountOpen( base_type )
do return false end
local open_day = ServerTimeModel:getInstance():GetOpenServerDay()
local has_discount = true
if self.view_info[base_type] and TableSize(self.view_info[base_type]) > 0 then
local max_num = self.discount_times
if self.view_info[base_type].buy_times and self.view_info[base_type].buy_times >= max_num then
has_discount = false
end
end
return false
-- return open_day >= (self.discount_opday or 1) and has_discount
end
function CompetingListModel:GetIsNoShowAskView( )
return self.is_no_show_ask_view
end
function CompetingListModel:SetIsNoShowAskView( value )
self.is_no_show_ask_view = value
end
function CompetingListModel:GetDiscount( buy_time,base_type )
local discount = 1
local has_discount = self:IsDiscountOpen(base_type)
if has_discount then
for k,v in pairs(Config.Racerankdiscount) do
if buy_time >= v.times_min and buy_time <= v.times_max then
local goods_list = stringtotable(v.cost_list)
if goods_list and goods_list[1] then
discount = goods_list[1][3]
break
end
end
end
end
return discount
end
--获得购买次数
function CompetingListModel:GetBuyNum( base_type )
return self.view_info[base_type] and self.view_info[base_type].buy_times or 0
end
--计算需要的道具材料
function CompetingListModel:MathNeedCost( use_type,base_type )
local one_price = GoodsModel:getInstance():GetGoodsPrice(self.cost_id) or 60
local good_num = GoodsModel:getInstance():GetTypeGoodsNum(self.cost_id)
local need_cost = 0
local sum_need_cost = self:GetDiscount(1+self:GetBuyNum(base_type),base_type)
if good_num >= sum_need_cost then
need_cost = 0
else
need_cost = (sum_need_cost - good_num)
end
return need_cost,sum_need_cost
end
function CompetingListModel:NeedPrice( jin,one_price,num,good_name,good_num,times,base_type)
local cur_view_cfg = self.view_cfg[base_type]
if not base_type or not cur_view_cfg then return end
local function ok( ... )
if jin >= one_price*(num - good_num) then
self:Fire(CompetingListModel.REQUEST_INFO, 33302, base_type, times, 1)
else
local qc_data = {
price = one_price*(num - good_num),
}
GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true, qc_data)
end
end
if self.competing_buy_toggle[base_type] then
ok()
else
local need_cost,max_need_cost = self:MathNeedCost(times,base_type)
local lucky_type = 1
if times == 1 then
lucky_type = 1
elseif times == 10 then
lucky_type = 2
end
local has_discount = self:IsDiscountOpen(base_type)
if has_discount and times == 10 then--只有10连才增加判断
if self:GetIsNoShowAskView() then
ok()
else
CompetingListAskView.New():Open({max_need_cost = max_need_cost, need_cost=need_cost, use_type=lucky_type, base_type = base_type})
end
else
local need_price = one_price*(num - good_num)
local need_num = math.ceil(need_price/one_price)
local cur_type_str = string.format("抽奖 %s 次", times)
if cur_view_cfg then
cur_type_str = cur_type_str
end
local function toggle_function( flag )
self.competing_buy_toggle[base_type] = flag
end
local asset, source = WordManager:GetCommonMoneyIcon(1)
local toggle_tip_data = {
gold_ab_res = asset,
gold_res = source,
price = need_price,
insufficientText = "",
priceText = string.format("<color=#fdffc2> %s </color> 补齐所需的 %s\n%s",need_price,good_name,cur_type_str),
titleText = "提示",
ok_callback = ok,
toggle_function = toggle_function,
is_complex_ok_callback = true,
}
GlobalEventSystem:Fire(EventName.OPEN_COM_TOGGLE_TIP_VIEW, toggle_tip_data)
end
end
end
--获得界面数据
function CompetingListModel:GetCompetingInfoList( )
return self.view_info
end
--获得界面数据
function CompetingListModel:GetCompetingCfg( base_type )
return self.view_cfg[base_type]
end
--获得竞榜活动开启列表
function CompetingListModel:GetCompetingOpenActList( act_type )
local my_level = RoleManager.Instance.mainRoleInfo.level
local is_open = false
local end_time = 0
local competing_server_data = self:GetCompetingInfoList()
local open_list = {}
if competing_server_data and TableSize(competing_server_data) > 0 then
for n,l in pairs(competing_server_data) do
local server_data = l
local sub_base_type = 33300000
local competing_cfg = self:GetCompetingCfg(n)
if competing_cfg then
local icon_act_type = CustomActivityModel.CustomIconActType.KfAct--默认放在开服活动图标里面
for k,v in pairs(competing_cfg.condition) do
if v[1] == "icon" then
icon_act_type = tonumber(v[2])
break
end
end
if icon_act_type == act_type then
if competing_cfg.type and competing_cfg.type == 2 then
sub_base_type = 1033300000
end
if server_data and server_data.end_show_time and my_level >= competing_cfg.lv then
is_open = server_data.end_show_time - TimeUtil:getServerTime()
is_open2 = server_data.end_time - TimeUtil:getServerTime()
if is_open > 0 then
if is_open2 > 0 then
local data = DeepCopy(competing_cfg)
data.sub_type = sub_base_type+n
data.id = KfActivityModel.TabID.Competing
data.base_type = CustomActivityModel.CustomActBaseType.COPETING
data.sort_id = 11
open_list[#open_list + 1] = data
end
end
end
end
end
end
end
return open_list
end
--获得竞榜红点列表
function CompetingListModel:GetComtingRedList( )
return self.red_info_list
end
------------------------------------------------许愿池相关
function CompetingListModel:SetFontaniResult( vo )--设置抽奖结果
if not vo or not vo.base_type then return end
if not self.result_info[vo.base_type] then
self.result_info[vo.base_type] = {}
end
self.result_info[vo.base_type] = vo
local new_award_list = {}
for k,v in ipairs(vo.reward_list) do
if self.fontani_award_cfg[vo.base_type] and self.fontani_award_cfg[vo.base_type][vo.opty]
and self.fontani_award_cfg[vo.base_type][vo.opty][vo.stage]
and self.fontani_award_cfg[vo.base_type][vo.opty][vo.stage][v.award_id] then
local data = self.fontani_award_cfg[vo.base_type][vo.opty][vo.stage][v.award_id]
new_award_list[#new_award_list + 1] = data
end
end
self.result_info[vo.base_type].reward_list = new_award_list
-- print("huangcong:CompetingListModel [468]vo: ",vo)
-- PrintTable(vo)
end
function CompetingListModel:GetFonTaniRuneTimeCfg( rune_times )
for k,v in pairsByKeys(Config.Racerunecost) do
if v.id >= rune_times then
return v
end
end
end
function CompetingListModel:GetFonTaniCoinCfg( coin )
for k,v in pairsByKeys(Config.Racewishcoin) do
if coin >= v.min_gold and coin <= v.max_gold then
return v
end
end
if coin == 0 then
return Config.Racewishcoin[1]
end
end
--得到许愿池奖励数据
function CompetingListModel:GetFontaniAwardCfg( base_type,stage,type )
if self.fontani_award_cfg[base_type] and self.fontani_award_cfg[base_type][type] and self.fontani_award_cfg[base_type][type][stage] then
return self.fontani_award_cfg[base_type][type][stage]
end
return nil
end
--设置许愿池界面数据
function CompetingListModel:SetFontaniViewInfoOne( v )
if not self.view_info[v.base_type] then
print("huangcong:CompetingListModel [348]许愿池数据有问题: ",v.base_type)
return
end
local new_data = {}
for kk,vv in pairs(v.award_list) do
new_data[vv.id] = vv
end
v.reward_list = new_data
self.view_info[v.base_type].type = v.type
self.view_info[v.base_type].gold_coin = v.gold_coin
self.view_info[v.base_type].total = v.total
self.view_info[v.base_type].sum_score = v.score
self.view_info[v.base_type].rune_times = v.rune_times
self.view_info[v.base_type].award_list = new_data
self.view_info[v.base_type].base_type = v.base_type
-- print("huangcong:CompetingListModel [390]: ",self.view_info[v.base_type])
-- PrintTable(self.view_info[v.base_type])
self:CheckMainIconRedDot(v.base_type)
end
--得到展示战力
function CompetingListModel:GetCompetingShowFight( vo )
if not vo or #vo < 3 then return end
if vo[1] == 146 then--如果是进阶
return FosterModel:getInstance():GetMinStageAttrFight(vo[3],1,0) or 0
elseif vo[1] == 163 then--如果是宠物
return PetModel:getInstance():GetPetBaseFightCfg(vo[3],1,1) or 0
end
end
--获取货币ID
function CompetingListModel:GetCompetingCostId( )
local one_data = CompetingListModel:getInstance().one_cost_data[1]
return one_data[2]
end