|
|
- CurrencyWishModel = CurrencyWishModel or BaseClass(BaseVo, true)
- local CurrencyWishModel = CurrencyWishModel
-
- function CurrencyWishModel:__init()
- CurrencyWishModel.Instance = self
- self:Reset()
- end
-
- function CurrencyWishModel:Reset()
- self.view_info = nil
- end
-
- function CurrencyWishModel:getInstance()
- if self.Instance == nil then
- self.Instance = CurrencyWishModel.New()
- end
- return self.Instance
- end
-
- function CurrencyWishModel:SetBaseInfo(vo)
- self.view_info = vo
- end
-
- function CurrencyWishModel:GetBaseInfo()
- return self.view_info
- end
-
- -- 获取祈愿总配置
- function CurrencyWishModel:GetCurrencyWishBaseConfig(currency_wish_type)
- if not self.currency_wish_base_config then
- self.currency_wish_base_config = {}
- for key, value in pairs(Config.Currencywishconfig) do
- self.currency_wish_base_config[value.type] = self.currency_wish_base_config[value.type] or {}
- table.insert(self.currency_wish_base_config[value.type], value)
- -- self.currency_wish_base_config[value.type] = {
- -- consume = stringtotable(value.consume),
- -- base_produce = stringtotable(value.base_produce),
- -- level_low = value.level_low,
- -- level_high = value.level_high,
- -- }
- end
- end
- if currency_wish_type then
- return self.currency_wish_base_config[currency_wish_type]
- else
- return self.currency_wish_base_config
- end
- end
-
- -- 根据玩家等级以及祈愿次数拿对应单条配置
- function CurrencyWishModel:GetCurrencyWishConfigOne(type)
- if not type then
- return
- end
- local role_lv = RoleManager.Instance.mainRoleInfo.level
- local have_use_num = 0
- local res
- local base_info = self:GetBaseInfo()
- if type == CurrencyWishConst.CURRENCY_WISH_TYPE.SPECIAL then
- have_use_num = base_info.luxury_rest_times
- elseif type == CurrencyWishConst.CURRENCY_WISH_TYPE.EXP then
- have_use_num = base_info.expr_rest_times
- end
- local base_cfg = self:GetCurrencyWishBaseConfig(type)
- for key, value in pairs(base_cfg) do
- if role_lv >= value.level_low
- and role_lv <= value.level_high
- and have_use_num >= value.wish_times_low
- and have_use_num <= value.wish_times_high
- then
- res = value
- end
- end
- return res
- end
-
-
- function CurrencyWishModel:CheckRedDot(check_new)
- if not check_new then
- return self.is_red
- end
-
- self.is_red = self:CheckNormalCurrencyWishRed(check_new)
- -- or self:CheckExpCurrencyWishRed(check_new)
- or self:CheckSpecialCurrencyWishRed(check_new)
-
- GlobalEventSystem:Fire(ActivityIconManager.UPDATE_ICON_TIPS, 340, self.is_red)
- return self.is_red
- end
-
- function CurrencyWishModel:CheckSpecialCurrencyWishRed(check_new)
- if not check_new then
- return self.is_speacial_currency_wish_red
- end
-
- self.is_speacial_currency_wish_red = false
- if not self.view_info then
- return self.is_speacial_currency_wish_red
- end
- self.is_speacial_currency_wish_red = self.view_info.luxurycool <= 0
- return self.is_speacial_currency_wish_red
- end
-
- function CurrencyWishModel:CheckNormalCurrencyWishRed(check_new)
- if not check_new then
- return self.is_normal_currency_wish_red
- end
-
- self.is_normal_currency_wish_red = false
- local stamp_goods_num = GoodsModel:getInstance():GetTypeGoodsNum(BagModel.StampGoodsId) --已有的交易券数量
- if stamp_goods_num >= 10 and RoleManager.Instance.mainRoleInfo.level >= 105 then
- self.is_normal_currency_wish_red = true
- end
-
- return self.is_normal_currency_wish_red
-
- end
-
- function CurrencyWishModel:SetCurrencyWishCdTime()
- self.cd_time_count = self.view_info.luxurycool
- if self.cd_timer_id then
- GlobalTimerQuest:CancelQuest(self.cd_timer_id)
- self.cd_timer_id = nil
- end
- if self.cd_time_count > 0 then
- local call_back = function ()
- self.cd_time_count = self.cd_time_count - 1
- if self.cd_time_count <= 0 then
- GlobalTimerQuest:CancelQuest(self.cd_timer_id)
- self.cd_timer_id = nil
- self.cd_time_count = 0
- self:Fire(CurrencyWishConst.REQ_CURRENCY_WISH_INFO)
- end
- self:Fire(CurrencyWishConst.UPDATE_CURRENCY_WISH_CD_TIME, self.cd_time_count)
- end
- self.cd_timer_id = GlobalTimerQuest:AddPeriodQuest(call_back, 1)
- call_back()
- end
- end
-
- -- function CurrencyWishModel:CheckExplCurrencyWishRed(check_new)
- -- if not check_new then
- -- return self.is_exp_currency_wish_red
- -- end
-
- -- self.is_exp_currency_wish_red = self.view_info.expcool <= 0
- -- return self.is_exp_currency_wish_red
- -- end
|