源战役客户端
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.
 
 
 
 
 

148 regels
4.7 KiB

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