|
|
- 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
|