StrengthModel = StrengthModel or BaseClass(BaseModel)
|
|
|
|
StrengthModel.Strengthen = {
|
|
IconNoticeList = {
|
|
"quiz",
|
|
"guildfire",
|
|
"angel",
|
|
},
|
|
|
|
}
|
|
|
|
StrengthModel.UPDATE_VIEW_AFTER_CLICK = "StrengthModel.UPDATE_VIEW_AFTER_CLICK" --在点击前往途径后刷新数据
|
|
|
|
function StrengthModel:__init()
|
|
StrengthModel.Instance = self
|
|
|
|
self.fight_model = Config.Improvefightnum
|
|
self.grade = nil
|
|
|
|
|
|
self.cache_flag = {}
|
|
self.module_open_dic = {}
|
|
self.state_flag = StateFlag.New()
|
|
|
|
|
|
self.strength_flag_1 = 0
|
|
self.strength_flag_2 = 0
|
|
self.strength_flag_3 = 0
|
|
self.strength_flag_4 = 0
|
|
end
|
|
|
|
function StrengthModel:getInstance()
|
|
if StrengthModel.Instance == nil then
|
|
StrengthModel.New()
|
|
end
|
|
return StrengthModel.Instance
|
|
end
|
|
|
|
function StrengthModel:ResetInfo()
|
|
self.state_flag:initValue()
|
|
self.module_open_dic = {}
|
|
end
|
|
|
|
|
|
--获取变强列表
|
|
function StrengthModel:GetStrengthList( )
|
|
local tb = {}
|
|
local cache_flag, func = false
|
|
local temp_cache_update_name = {}
|
|
for k,v in pairs(Config.ConfigStrength.Func) do
|
|
local type_cfg = v
|
|
for k2,v2 in pairs(type_cfg) do
|
|
--每个函数只执行一遍
|
|
local has_updated = temp_cache_update_name[v2.check]
|
|
if not has_updated then
|
|
temp_cache_update_name[v2.check] = true
|
|
local win_id = v2.winId
|
|
local sub_id = v2.subId
|
|
|
|
local special_open_flag = true
|
|
--星级套装 要变化下
|
|
if win_id == 152 and sub_id == 999 then
|
|
sub_id = 1
|
|
elseif win_id == 146 and sub_id >= 91 then
|
|
-- 珍宝 特殊处理
|
|
sub_id = sub_id - 90 -- 判断子系统是否开启
|
|
special_open_flag = GetModuleIsOpen(146, 9) -- 判断珍宝外观是否开启
|
|
elseif win_id == 149 and sub_id == 99 then
|
|
sub_id = 0
|
|
end
|
|
local key = win_id .. "@".. sub_id
|
|
if self.module_open_dic[key] or (GetModuleIsOpen(win_id, sub_id, true) and special_open_flag) then
|
|
self.module_open_dic[key] = true
|
|
--先判断缓存标识
|
|
-- cache_flag = self:GetCacheFlag(v2.check)
|
|
-- if cache_flag == true then
|
|
-- table.insert(tb, v2)
|
|
-- elseif cache_flag == nil then
|
|
func = self[v2.check]
|
|
if func and func(self) then
|
|
table.insert(tb, v2)
|
|
end
|
|
--end
|
|
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|
|
--排序
|
|
-- local arg = {"sort_id","winId"}
|
|
-- local condition = {Array.LOWER, Array.LOWER}
|
|
-- SortTools.MoreKeysSorter(tb, arg, condition)
|
|
return tb
|
|
end
|
|
|
|
--设置各个功能函数缓存标识
|
|
function StrengthModel:SetCacheFlag(key, value)
|
|
local value = value or false
|
|
self.cache_flag[key] = value
|
|
end
|
|
|
|
function StrengthModel:GetCacheFlag(key)
|
|
return self.cache_flag[key]
|
|
end
|
|
|
|
--是否能变强
|
|
function StrengthModel:CanStrength( cur_type )
|
|
local cur_type = cur_type or Config.ConfigStrength.ChangeType.All
|
|
local can_strength = false
|
|
local func, cache_flag
|
|
local temp_cache_update_name = {}
|
|
|
|
if cur_type == Config.ConfigStrength.ChangeType.All then
|
|
self.state_flag:initValue()
|
|
for k,v in pairs(Config.ConfigStrength.Func) do
|
|
local type_cfg = v
|
|
can_strength = false
|
|
for k2,v2 in pairs(type_cfg) do
|
|
--[[func = self[v2.check]
|
|
if func and func(self) then
|
|
can_strength = true
|
|
break
|
|
end--]]
|
|
--每个函数只执行一遍
|
|
local has_updated = temp_cache_update_name[v2.check]
|
|
if not has_updated then
|
|
temp_cache_update_name[v2.check] = true
|
|
func = self[v2.check]
|
|
if func and func(self) then
|
|
can_strength = true
|
|
break
|
|
end
|
|
end
|
|
end
|
|
if can_strength then--显示
|
|
self.state_flag:addState(Config.ConfigStrength.State_Type[k])
|
|
else--隐藏
|
|
self.state_flag:delState(Config.ConfigStrength.State_Type[k])
|
|
end
|
|
end
|
|
else
|
|
local type_cfg = Config.ConfigStrength.Func[cur_type]
|
|
if type_cfg then
|
|
for k,v in pairs(type_cfg) do
|
|
cache_flag = self:GetCacheFlag(v.check)
|
|
if cache_flag == true then
|
|
can_strength = true
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
if cur_type ~= Config.ConfigStrength.ChangeType.All then
|
|
if can_strength then--显示
|
|
self.state_flag:addState(Config.ConfigStrength.State_Type[cur_type])
|
|
else--隐藏
|
|
self.state_flag:delState(Config.ConfigStrength.State_Type[cur_type])
|
|
end
|
|
end
|
|
|
|
if self.state_flag then
|
|
return self.state_flag:isInstate()
|
|
end
|
|
end
|
|
|
|
|
|
--AI娘进阶
|
|
function StrengthModel:can_jarvis_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_stren", val)
|
|
return val
|
|
end
|
|
|
|
--AI娘提升
|
|
function StrengthModel:can_jarvis_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_up", val)
|
|
return val
|
|
end
|
|
|
|
--AI娘换装
|
|
function StrengthModel:can_jarvis_cloth_change( )
|
|
local val = FosterModel:GetInstance():CanDressNewEquipWithType(false, FosterConst.ModuleId.FJarvis) or FosterModel:GetInstance():CanDressUpEquipWithType(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_cloth_change", val)
|
|
return val
|
|
end
|
|
|
|
--AI娘升装
|
|
function StrengthModel:can_jarvis_cloth_up( )
|
|
local val = FosterModel:GetInstance():CanUpEquipWithType(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_cloth_up", val)
|
|
return val
|
|
end
|
|
|
|
--AI娘技能
|
|
function StrengthModel:can_jarvis_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--AI娘皮肤
|
|
function StrengthModel:can_jarvis_skin_up_or_active( )
|
|
local val = FosterModel:GetInstance():CanSkinActOrUp(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_skin_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--AI娘珍宝
|
|
function StrengthModel:can_jarvis_shape_up_or_active( )
|
|
local val = ShapeModel:GetInstance():CheckRedByType(false, FosterConst.ModuleId.FJarvis)
|
|
self:SetCacheFlag("can_jarvis_shape_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--磁炮进阶
|
|
function StrengthModel:can_gun_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FGun)
|
|
self:SetCacheFlag("can_gun_stren", val)
|
|
return val
|
|
end
|
|
|
|
--磁炮提升
|
|
function StrengthModel:can_gun_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FGun)
|
|
self:SetCacheFlag("can_gun_up", val)
|
|
return val
|
|
end
|
|
|
|
--磁炮技能
|
|
function StrengthModel:can_gun_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FGun)
|
|
self:SetCacheFlag("can_gun_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--磁炮皮肤
|
|
function StrengthModel:can_gun_skin_up_or_active( )
|
|
local val = FosterModel:GetInstance():CanSkinActOrUp(false, FosterConst.ModuleId.FGun)
|
|
self:SetCacheFlag("can_gun_skin_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--星翼进阶
|
|
function StrengthModel:can_cloud_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FCloud)
|
|
self:SetCacheFlag("can_cloud_stren", val)
|
|
return val
|
|
end
|
|
|
|
--星翼提升
|
|
function StrengthModel:can_cloud_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FCloud)
|
|
self:SetCacheFlag("can_cloud_up", val)
|
|
return val
|
|
end
|
|
|
|
--星翼技能
|
|
function StrengthModel:can_cloud_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FCloud)
|
|
self:SetCacheFlag("can_cloud_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--星翼皮肤
|
|
function StrengthModel:can_cloud_skin_up_or_active( )
|
|
local val = FosterModel:GetInstance():CanSkinActOrUp(false, FosterConst.ModuleId.FCloud)
|
|
self:SetCacheFlag("can_cloud_skin_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--幻甲进阶
|
|
function StrengthModel:can_armour_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FArmour)
|
|
self:SetCacheFlag("can_armour_stren", val)
|
|
return val
|
|
end
|
|
|
|
--幻甲提升
|
|
function StrengthModel:can_armour_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FArmour)
|
|
self:SetCacheFlag("can_armour_up", val)
|
|
return val
|
|
end
|
|
|
|
--幻甲技能
|
|
function StrengthModel:can_armour_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FArmour)
|
|
self:SetCacheFlag("can_armour_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--幻甲皮肤
|
|
function StrengthModel:can_armour_up_or_active( )
|
|
local val = FosterModel:GetInstance():CanSkinActOrUp(false, FosterConst.ModuleId.FArmour)
|
|
self:SetCacheFlag("can_armour_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--座驾进阶
|
|
function StrengthModel:can_horse_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FHorse)
|
|
self:SetCacheFlag("can_armour_up", val)
|
|
return val
|
|
end
|
|
|
|
--座驾提升
|
|
function StrengthModel:can_horse_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FHorse)
|
|
self:SetCacheFlag("can_horse_up", val)
|
|
return val
|
|
end
|
|
|
|
--座驾换装
|
|
function StrengthModel:can_horse_cloth_change( )
|
|
local val = FosterModel:GetInstance():CanDressNewEquipWithType(false, FosterConst.ModuleId.FHorse) or FosterModel:GetInstance():CanDressUpEquipWithType(false, FosterConst.ModuleId.FHorse)
|
|
self:SetCacheFlag("can_horse_cloth_change", val)
|
|
return val
|
|
end
|
|
|
|
--座驾升装
|
|
function StrengthModel:can_horse_cloth_up( )
|
|
local val = FosterModel:GetInstance():CanUpEquipWithType(false, FosterConst.ModuleId.FHorse)
|
|
self:SetCacheFlag("can_horse_cloth_up", val)
|
|
return val
|
|
end
|
|
|
|
--座驾技能
|
|
function StrengthModel:can_horse_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FHorse)
|
|
self:SetCacheFlag("can_horse_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--座驾珍宝
|
|
function StrengthModel:can_horse_shape_up_or_active( )
|
|
local val = ShapeModel:GetInstance():CheckRedByType(false, FosterConst.ModuleId.FHorse)
|
|
self:SetCacheFlag("can_horse_shape_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
|
|
--炫翼进阶
|
|
function StrengthModel:can_wing_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FWing)
|
|
self:SetCacheFlag("can_wing_stren", val)
|
|
return val
|
|
end
|
|
|
|
--炫翼提升
|
|
function StrengthModel:can_wing_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FWing)
|
|
self:SetCacheFlag("can_wing_up", val)
|
|
return val
|
|
end
|
|
|
|
--炫翼技能
|
|
function StrengthModel:can_wing_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FWing)
|
|
self:SetCacheFlag("can_wing_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--炫翼珍宝
|
|
function StrengthModel:can_wing_shape_up_or_active( )
|
|
local val = ShapeModel:GetInstance():CheckRedByType(false, FosterConst.ModuleId.FWing)
|
|
self:SetCacheFlag("can_wing_shape_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--宝具进阶
|
|
function StrengthModel:can_pearl_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FPearl)
|
|
self:SetCacheFlag("can_pearl_stren", val)
|
|
return val
|
|
end
|
|
|
|
--宝具提升
|
|
function StrengthModel:can_pearl_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FPearl)
|
|
self:SetCacheFlag("can_pearl_up", val)
|
|
return val
|
|
end
|
|
|
|
--宝具技能
|
|
function StrengthModel:can_pearl_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FPearl)
|
|
self:SetCacheFlag("can_pearl_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--宝具珍宝
|
|
function StrengthModel:can_pearl_shape_up_or_active( )
|
|
local val = ShapeModel:GetInstance():CheckRedByType(false, FosterConst.ModuleId.FPearl)
|
|
self:SetCacheFlag("can_pearl_shape_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--武器进阶
|
|
function StrengthModel:can_weapon_stren( )
|
|
local val = FosterModel:GetInstance():CanUpgrade(false, FosterConst.ModuleId.FWeapon)
|
|
self:SetCacheFlag("can_weapon_stren", val)
|
|
return val
|
|
end
|
|
|
|
--武器提升
|
|
function StrengthModel:can_weapon_up( )
|
|
local val = FosterModel:GetInstance():CanKernel(false, FosterConst.ModuleId.FWeapon)
|
|
self:SetCacheFlag("can_weapon_up", val)
|
|
return val
|
|
end
|
|
|
|
--武器技能
|
|
function StrengthModel:can_weapon_skill_up( )
|
|
local val = FosterModel:GetInstance():CanSkillUpgradeByType(false, FosterConst.ModuleId.FWeapon)
|
|
self:SetCacheFlag("can_weapon_skill_up", val)
|
|
return val
|
|
end
|
|
|
|
--武器珍宝
|
|
function StrengthModel:can_weapon_shape_up_or_active( )
|
|
local val = ShapeModel:GetInstance():CheckRedByType(false, FosterConst.ModuleId.FWeapon)
|
|
self:SetCacheFlag("can_weapon_shape_up_or_active", val)
|
|
return val
|
|
end
|
|
|
|
--职业技能
|
|
function StrengthModel:can_careerskill_up( )
|
|
local val = SkillUIModel:getInstance():CheckSkillRedDot(false, Config.ConfigSkillUI.TabEnum.CareerSkill)
|
|
self:SetCacheFlag("can_careerskill_up", val)
|
|
return val
|
|
end
|
|
|
|
--被动技能
|
|
function StrengthModel:can_passiveskill_up( )
|
|
local val = SkillUIModel:getInstance():CheckSkillRedDot(false, Config.ConfigSkillUI.TabEnum.PassiveSkill)
|
|
self:SetCacheFlag("can_passiveskill_up", val)
|
|
return val
|
|
end
|
|
|
|
--特殊技能
|
|
function StrengthModel:can_specialskill_up( )
|
|
local val = SkillUIModel:getInstance():CheckSkillRedDot(false, Config.ConfigSkillUI.TabEnum.SpecialSkill)
|
|
self:SetCacheFlag("can_specialskill_up", val)
|
|
return val
|
|
end
|
|
|
|
--装备精炼
|
|
function StrengthModel:can_equip_stren( )
|
|
local val = EquipModel:getInstance():GetEquipRedDotByType(EquipModel.MainTab.Strengthen)
|
|
self:SetCacheFlag("can_equip_stren", val)
|
|
return val
|
|
end
|
|
|
|
--装备升星
|
|
function StrengthModel:can_equip_up( )
|
|
local val = EquipModel:getInstance():CheckEvolutionRedDot()
|
|
self:SetCacheFlag("can_equip_up", val)
|
|
return val
|
|
end
|
|
|
|
--装备升品
|
|
function StrengthModel:can_equip_red_up( )
|
|
local val = EquipModel:getInstance():CheckRedEquipRedDot()
|
|
self:SetCacheFlag("can_equip_red_up", val)
|
|
return val
|
|
end
|
|
|
|
--星级套装
|
|
function StrengthModel:can_equip_star( )
|
|
local val = EquipModel:getInstance():CheckEvolutionStrengthStarRedDot()
|
|
self:SetCacheFlag("can_equip_star", val)
|
|
return val
|
|
end
|
|
|
|
--宝石镶嵌
|
|
function StrengthModel:can_stone_put( )
|
|
local val = EquipModel:getInstance():GetEquipRedDotByType(EquipModel.MainTab.Gemstone)
|
|
self:SetCacheFlag("can_stone_put", val)
|
|
return val
|
|
end
|
|
|
|
--宝石升级
|
|
function StrengthModel:can_stone_up( )
|
|
local val = ComposeModel:getInstance():GetComposeRedDotByType(ComposeModel.MainTab.Gemstone)
|
|
self:SetCacheFlag("can_stone_up", val)
|
|
return val
|
|
end
|
|
|
|
-- 幻光激活
|
|
function StrengthModel:can_light_active()
|
|
local val = LightModel:getInstance():GetLightAllActive()
|
|
self:SetCacheFlag("can_light_active", val)
|
|
return val
|
|
end
|
|
|
|
-- 幻光升级
|
|
function StrengthModel:can_light_up()
|
|
local val = LightModel:getInstance():GetLightAllUpGrade()
|
|
self:SetCacheFlag("can_light_up", val)
|
|
return val
|
|
end
|
|
|
|
--信物升级
|
|
function StrengthModel:can_ship_up( )
|
|
local mate_model = MateModel:GetInstance()
|
|
local val = mate_model:GetShipRedDot()
|
|
-- if val then
|
|
-- --判断是否有伙伴
|
|
-- local basic_data = mate_model:GetBasicInfo( )
|
|
-- if not (basic_data and TableSize(basic_data) > 0) then
|
|
-- val = false
|
|
-- end
|
|
-- end
|
|
self:SetCacheFlag("can_ship_up", val)
|
|
return val
|
|
end
|
|
|
|
--守护合成
|
|
function StrengthModel:can_guard_compose( )
|
|
local val = ComposeModel:getInstance():GetComposeRedDotByType(ComposeModel.MainTab.Guard)
|
|
self:SetCacheFlag("can_guard_compose", val)
|
|
return val
|
|
end
|
|
|
|
--饰品合成
|
|
function StrengthModel:can_ornaments_compose( )
|
|
local val = ComposeModel:getInstance():GetComposeRedDotByType(ComposeModel.MainTab.Ornaments)
|
|
self:SetCacheFlag("can_ornaments_compose", val)
|
|
return val
|
|
end
|
|
|
|
--橙装合成
|
|
function StrengthModel:can_orange_equip_compose( )
|
|
local val = ComposeModel:getInstance():GetComposeRedDotByType(ComposeModel.MainTab.Equip)
|
|
self:SetCacheFlag("can_orange_equip_compose", val)
|
|
return val
|
|
end
|
|
|
|
--宠物升级
|
|
function StrengthModel:can_pet_up( )
|
|
local val = PetModel:getInstance():GetPetRedDotByType(PetConst.RED_DOT_TYPE.Feed)
|
|
self:SetCacheFlag("can_pet_up", val)
|
|
return val
|
|
end
|
|
|
|
--宠物升星
|
|
function StrengthModel:can_pet_starup( )
|
|
local val = PetModel:getInstance():GetPetRedDotByType(PetConst.RED_DOT_TYPE.Evolve)
|
|
self:SetCacheFlag("can_pet_starup", val)
|
|
return val
|
|
end
|
|
|
|
--宠物宝石
|
|
function StrengthModel:can_pet_stone( )
|
|
local val = PetModel:getInstance():GetPetRedDotByType(PetConst.RED_DOT_TYPE.Diamond)
|
|
self:SetCacheFlag("can_pet_stone", val)
|
|
return val
|
|
end
|
|
|
|
--宝宝成长
|
|
function StrengthModel:can_baby_up( )
|
|
local val = ChildModel:GetInstance():IsRedDotChildTrain()
|
|
self:SetCacheFlag("can_baby_up", val)
|
|
return val
|
|
end
|
|
|
|
--宝宝技能
|
|
function StrengthModel:can_babyskill_up( )
|
|
local val = ChildModel:GetInstance():IsRedDotChildSkill()
|
|
self:SetCacheFlag("can_babyskill_up", val)
|
|
return val
|
|
end
|
|
|
|
--战魂阵型
|
|
function StrengthModel:can_warsoul_suit( )
|
|
local val = WarSoulModel.getInstance():GetWarSoulRedDotByType(WarSoulModel.MainTab.Suit)
|
|
self:SetCacheFlag("can_warsoul_suit", val)
|
|
return val
|
|
end
|
|
|
|
--战魂强化
|
|
function StrengthModel:can_warsoul_bag( )
|
|
local val = WarSoulModel.getInstance():GetWarSoulRedDotByType(WarSoulModel.MainTab.Strength)
|
|
self:SetCacheFlag("can_warsoul_bag", val)
|
|
return val
|
|
end
|
|
|
|
--战魂升星
|
|
function StrengthModel:can_warsoul_svolution( )
|
|
local val = WarSoulModel.getInstance():GetWarSoulRedDotByType(WarSoulModel.MainTab.Evolution)
|
|
self:SetCacheFlag("can_warsoul_svolution", val)
|
|
return val
|
|
end
|
|
|
|
|
|
--魂力激活
|
|
function StrengthModel:can_soul_power_up( )
|
|
local val = SoulPowerModel.getInstance():GetSoulPowerCanGoFinalLv()
|
|
self:SetCacheFlag("can_soul_power_up", val)
|
|
return val
|
|
end
|
|
|
|
--魂力突破
|
|
function StrengthModel:can_soul_break( )
|
|
local val = SoulPowerModel.getInstance():GetSoulPOwerCanUpGrade()
|
|
self:SetCacheFlag("can_soul_break", val)
|
|
return val
|
|
end
|
|
|
|
--放置冒险
|
|
function StrengthModel:exp_can_get( )
|
|
local exp_model = ExpDunModel:getInstance()
|
|
local val = exp_model:GetExpRedByRedType(ExpDunModel.Red_Type.HangUp)
|
|
self:SetCacheFlag("exp_can_get", val)
|
|
return val
|
|
end
|
|
|
|
--经验加速
|
|
function StrengthModel:exp_speed_can_get( )
|
|
local exp_model = ExpDunModel:getInstance()
|
|
local val = exp_model:GetExpRedByRedType(ExpDunModel.Red_Type.QuickHangUp)
|
|
self:SetCacheFlag("exp_speed_can_get", val)
|
|
return val
|
|
end
|
|
|
|
--时装激活
|
|
function StrengthModel:can_fashion_active( )
|
|
local val = FashionModel:getInstance():GetFashionCanActive()
|
|
self:SetCacheFlag("can_fashion_active", val)
|
|
return val
|
|
end
|
|
|
|
--时装升星
|
|
function StrengthModel:can_fashion_up( )
|
|
local val = FashionModel:getInstance():GetFashionCanUp()
|
|
self:SetCacheFlag("can_fashion_up", val)
|
|
return val
|
|
end
|
|
|
|
--装备吞噬
|
|
function StrengthModel:can_equip_eat( )
|
|
local val = BagModel:getInstance():GetCanSwallowStrength()
|
|
self:SetCacheFlag("can_equip_eat", val)
|
|
return val
|
|
end
|
|
|
|
-----以下老项目代码----------
|
|
---------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------
|
|
|
|
|
|
-- -- --是否能变强
|
|
-- -- function StrengthModel:CanStrength( )
|
|
-- -- -- local tb = {}
|
|
-- -- -- for k,v in pairs(Config.ConfigStrength.Func) do
|
|
-- -- -- local vo = OpenFun.LinkWin[v.winId.."@"..v.subId]
|
|
-- -- -- if vo and RoleManager.Instance.mainRoleInfo.level >= vo.openLv then
|
|
-- -- -- local func = self[v.check]
|
|
-- -- -- if func and func() then
|
|
-- -- -- table.insert(tb, v)
|
|
-- -- -- break
|
|
-- -- -- end
|
|
-- -- -- end
|
|
-- -- -- end
|
|
-- -- -- return #tb>0
|
|
|
|
-- -- -- return false
|
|
-- -- print("===", self.strength_flag_1, self.strength_flag_2, self.strength_flag_3, self.strength_flag_4)
|
|
|
|
|
|
-- -- return self.strength_flag_1 > 0 or self.strength_flag_2 > 0 or self.strength_flag_3 > 0 or self.strength_flag_4 > 0
|
|
-- -- end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ----------------------------------变强主界面----------------------------------
|
|
-- -- --技能进阶
|
|
-- -- function StrengthModel:Progress_Skill(max_num)
|
|
-- -- local cur = 0
|
|
-- -- local mySkillList = SkillManager:getInstance().mySkillList
|
|
-- -- if mySkillList and TableSize(mySkillList) > 0 then
|
|
-- -- for k,v in pairs(mySkillList) do
|
|
-- -- -- if k>=10001 and k<=10007 then
|
|
-- -- cur = cur + v.level
|
|
-- -- -- end
|
|
-- -- end
|
|
-- -- end
|
|
-- -- return (cur/max_num)*100, cur
|
|
-- -- end
|
|
|
|
-- --装备精炼
|
|
-- function StrengthModel:Progress_Equip_Stren(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- -- local equip_info = EquipModel:getInstance():GetStrenDynamic()
|
|
-- local stren_info = {}
|
|
-- stren_info[1], stren_info[2], stren_info[3], stren_info[4] = BagModel:getInstance():GetAllAddition() --获取全身1装备精炼数 2星级 3宝石数 4圣印强化数
|
|
|
|
-- cur = stren_info[1] and stren_info[1] or cur
|
|
-- cur_data = cur
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- --坐骑升星
|
|
-- function StrengthModel:Progress_Horse(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = HorseModel:getInstance().horse_data
|
|
|
|
-- if data and data.stage and data.star then
|
|
-- cur = (tonumber(data.stage)-1)*10 + tonumber(data.star)
|
|
-- cur_data = data.stage.."阶"..data.star.."星"
|
|
-- end
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- --宝具升星
|
|
-- function StrengthModel:Progress_Treasure(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = NewTalismanModel:getInstance().talisman_upgrade_data
|
|
|
|
-- if data and data.lv then
|
|
-- cur = data.lv
|
|
-- end
|
|
-- cur_data = cur
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- --星灵升星
|
|
-- function StrengthModel:Progress_StarSpirit(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = StarSpiritModel:getInstance():GetStarSpiritDataList()
|
|
-- local list = {}
|
|
-- local high_stage = 0
|
|
-- for k,v in pairs(data) do
|
|
-- if v and v.stage and v.stage > high_stage then
|
|
-- high_stage = v.stage
|
|
-- end
|
|
-- end
|
|
-- if data and #data > 0 then
|
|
-- local high_combat = 0
|
|
-- for k,v in pairs(data) do
|
|
-- if v.stage == high_stage and v.combat_stage and tonumber(v.combat_stage) > high_combat then
|
|
-- high_combat = tonumber(v.combat_stage)
|
|
-- cur = (tonumber(v.stage) - 1)*3 + tonumber(v.star)
|
|
-- cur_data = v.stage.."阶"..v.star.."星"
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- -- if data and #data > 0 then
|
|
-- -- for k,v in pairs(data) do
|
|
-- -- cur = cur + v.combat_stage
|
|
-- -- end
|
|
-- -- end
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- --6圣灵强化
|
|
-- function StrengthModel:Progress_Pyx(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = PyxModel:getInstance():GetSpiritList()
|
|
-- local list = {}
|
|
-- local high_lv = 0
|
|
-- for k,v in pairs(data) do
|
|
-- if v and v.lv and v.lv >= high_lv then
|
|
-- high_lv = v.lv
|
|
-- end
|
|
-- end
|
|
-- for k,v in pairs(data) do
|
|
-- if v.lv == high_lv then
|
|
-- table.insert(list, v)
|
|
-- end
|
|
-- end
|
|
-- if list and #list > 0 then
|
|
-- local high_combat = 0
|
|
-- for k,v in pairs(list) do
|
|
-- if v.lv and v.lv >= 1 then
|
|
-- local key = v.spirit_id.."@"..v.lv
|
|
-- local combat = GetFighting(ErlangParser:GetInstance():Parse(Config.Spiritconfig[key].attr))
|
|
-- if combat >= high_combat then
|
|
-- high_combat = combat
|
|
-- cur = v.lv
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- cur_data = cur
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- --宝石镶嵌
|
|
-- function StrengthModel:Progress_Jewel(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local stren_info = {}
|
|
-- stren_info[1], stren_info[2], stren_info[3], stren_info[4] = BagModel:getInstance():GetAllAddition()
|
|
|
|
-- cur = stren_info[3] and stren_info[3] or cur
|
|
-- cur_data = cur
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- -- --翅膀强化
|
|
-- -- function StrengthModel:Progress_Wing(max_num)
|
|
-- -- local cur = 0
|
|
-- -- local data = WingModel:getInstance().wing_vo
|
|
|
|
-- -- if data and data.combat then
|
|
-- -- cur = data.combat
|
|
-- -- end
|
|
-- -- return (cur/max_num)*100, cur
|
|
-- -- end
|
|
|
|
-- -- --装备合成
|
|
-- -- function StrengthModel:Progress_Equip_Compose(max_num)
|
|
-- -- local cur = 0
|
|
-- -- local data = 1
|
|
|
|
-- -- return (cur/max_num)*100, cur
|
|
-- -- end
|
|
|
|
-- --11套装合成
|
|
-- function StrengthModel:Progress_Equip_Suit(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = GoodsModel:getInstance().wear_equip_list
|
|
-- if data then
|
|
-- local len = TableSize(data)
|
|
-- self.wear_equip_list = {}
|
|
-- local function handleEquip()
|
|
-- if self.wear_equip_list then
|
|
-- for k,v in pairs(self.wear_equip_list) do
|
|
-- if v and v.suit_lv and v.suit_slv and v.cell then
|
|
-- local pos_2_type_cfg = Config.Equippos2suittype
|
|
-- local cfg = Config.Improvesuit
|
|
-- if pos_2_type_cfg[v.cell] and pos_2_type_cfg[v.cell].type and cfg[pos_2_type_cfg[v.cell].type.."@"..v.suit_lv.."@"..v.suit_slv.."@"] then
|
|
-- cur = cur + cfg[pos_2_type_cfg[v.cell].type.."@"..v.suit_lv.."@"..v.suit_slv.."@"].point
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- local function callback(dynamic)
|
|
-- if dynamic then
|
|
-- self.wear_equip_list[dynamic.cell] = dynamic
|
|
-- if TableSize(self.wear_equip_list) == len then
|
|
-- handleEquip()
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- for k,v in pairs(data) do
|
|
-- if v and v.goods_id then
|
|
-- GoodsModel:getInstance():GetDynamic(v.goods_id, callback)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- -- --装备洗练
|
|
-- -- function StrengthModel:Progress_Equip_Wash(max_num)
|
|
-- -- local cur = 0
|
|
-- -- local data = 1
|
|
|
|
-- -- return (cur/max_num)*100, cur
|
|
-- -- end
|
|
|
|
|
|
-- -- if data then
|
|
-- -- if data.talent_skills and TableSize(data.talent_skills) > 0 and data.talent_skills.skills and TableSize(data.talent_skills.skills) > 0 then
|
|
-- -- for k,v in pairs(data.talent_skills.skills) do
|
|
-- -- cur = cur + 1
|
|
-- -- end
|
|
-- -- end
|
|
-- -- end
|
|
-- -- return (cur/max_num)*100, cur
|
|
-- -- end
|
|
|
|
-- --神魂升级 暂时还没做
|
|
-- -- function StrengthModel:Progress_(max_num)
|
|
-- -- -- body
|
|
-- -- end
|
|
|
|
-- --装备替换
|
|
-- function StrengthModel:Progress_Equip_repalce(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = 1
|
|
-- local equip_cfg = Config.Equipattr
|
|
-- local role_equip = GoodsModel:getInstance().wear_equip_list
|
|
-- if data and role_equip and equip_cfg then
|
|
-- for k,v in pairs(role_equip) do
|
|
-- if v and v.type_id and equip_cfg[v.type_id] then
|
|
-- cur = cur + tonumber(equip_cfg[v.type_id].base_rating)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- -- 坐骑装备
|
|
-- function StrengthModel:Progress_Equip_horse(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data = GoodsModel:getInstance():GetHorseEquipList()
|
|
-- if data then
|
|
-- for k,v in pairs(data) do
|
|
-- if v and v.type_id and HorseModel:getInstance():GetHorseEquipAttrCfg(v.type_id) then
|
|
-- cur = cur + tonumber(HorseModel:getInstance():GetHorseEquipAttrCfg(v.type_id).base_rating)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- -- 神格提升
|
|
-- function StrengthModel:Progress_God_Hood(max_num)
|
|
-- local cur = 0
|
|
-- local cur_data = ""
|
|
-- local data, cur_cfg, next_cfg = DeityModel:getInstance():GetCurDeityInfo()
|
|
-- if data and cur_cfg then
|
|
-- cur = tonumber(cur_cfg.id)
|
|
-- cur_data = cur_cfg.name..cur_cfg.lv
|
|
-- else
|
|
-- cur_data = "暂无"
|
|
-- end
|
|
-- return (cur/max_num)*100, cur_data
|
|
-- end
|
|
|
|
-- --根据标签id获取对应标签下的item信息
|
|
-- function StrengthModel:GetItemListByIndex(id)
|
|
-- local list = {}
|
|
-- local level = RoleManager.Instance.mainRoleInfo.level
|
|
-- local config_data = DeepCopy(Config.Improvefighttask)
|
|
-- for i,v in pairs(config_data) do
|
|
-- if v.page_id == id and v.sort_id ~= 14 and (level >= v.lv_min and level <= v.lv_max) then --现在先排除14 神魂 还没做这个模块
|
|
-- -- if level >= v.lv_min and level <= v.lv_max then
|
|
-- -- table.insert(list, v)
|
|
-- -- end
|
|
-- v.sort_huodong_id = 0
|
|
-- local data = self:refresh_data(v)
|
|
|
|
-- if data ~= nil and self:CheckIsOpenByLevel(data) and not self:CheckSpicalIsOpen(data) then
|
|
-- data.per, data.cur_num = self:Get_Per(data)
|
|
|
|
-- self:Add_need_close(data)
|
|
-- table.insert(list, data)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- local _sort = function( a,b )
|
|
-- if a.per >=100 and b.per <100 then
|
|
-- return false
|
|
-- elseif b.per >=100 and a.per <100 then
|
|
-- return true
|
|
-- else
|
|
-- if a.open_flag > b.open_flag then
|
|
-- return true
|
|
-- elseif a.open_flag == b.open_flag then
|
|
-- if a.sort_huodong_id > b.sort_huodong_id then
|
|
-- return false
|
|
-- elseif a.sort_huodong_id < b.sort_huodong_id then
|
|
-- return true
|
|
-- end
|
|
-- if a.sort_id >= b.sort_id then
|
|
-- return false
|
|
-- else
|
|
-- return true
|
|
-- end
|
|
-- else
|
|
-- return false
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- table.sort(list, _sort)
|
|
|
|
-- return list
|
|
-- end
|
|
|
|
-- -- 条件字段中有判断等级开启的level的 可以判断是否到达等级而显示
|
|
-- function StrengthModel:CheckIsOpenByLevel(data)
|
|
-- local is_open = false
|
|
-- local str = ErlangParser:GetInstance():Parse(data.condition)[1]
|
|
-- str = Trim(str)
|
|
-- local list = Split(str,"_")
|
|
-- local task_type = list[1]
|
|
-- local task_id = list[2]
|
|
-- if task_type == "level" then
|
|
-- if RoleManager.Instance.mainRoleInfo.level >= tonumber(task_id) then
|
|
-- is_open = true
|
|
-- end
|
|
-- else
|
|
-- is_open = true
|
|
-- end
|
|
-- return is_open
|
|
-- end
|
|
|
|
-- -- 有些是特殊判断是否需要显示的
|
|
-- function StrengthModel:CheckSpicalIsOpen(data)
|
|
-- local not_show = false
|
|
-- if data.page_id == 5 and data.sort_id == 2 then --投资计划 特殊判断显示
|
|
-- if InvestModel:getInstance():IsGetAll(InvestModel.type.normal) and InvestModel:getInstance():IsGetAll(InvestModel.type.high) then
|
|
-- not_show = true --不显示
|
|
-- end
|
|
-- end
|
|
-- return not_show
|
|
-- end
|
|
|
|
-- function StrengthModel:refresh_data(data)
|
|
-- local str = ErlangParser:GetInstance():Parse(data.condition)[1]
|
|
-- str = Trim(str)
|
|
-- local list = Split(str,"_")
|
|
-- local task_type = list[1]
|
|
-- local task_id = list[2]
|
|
-- if task_type ~= "level" then
|
|
-- task_type = str
|
|
-- end
|
|
-- data.task_type = task_type
|
|
-- data.task_id = task_id
|
|
|
|
-- local cur_level = RoleManager.Instance.mainRoleInfo.level
|
|
|
|
-- local open_data = {}
|
|
-- if task_type == "level" then
|
|
-- if cur_level >= tonumber(task_id) then
|
|
-- data.open_flag = 1
|
|
-- else
|
|
-- data.open_flag = 0
|
|
-- end
|
|
-- else
|
|
-- open_data = Config.ConfigStrength.OpenLv[task_type]
|
|
-- if not open_data then return end
|
|
|
|
-- if cur_level >= open_data.openLv then
|
|
-- data.open_flag = 1
|
|
-- if task_type == "quiz" then
|
|
-- local _data = QuizModel:getInstance():GetQuizState()
|
|
-- if _data then
|
|
-- if _data.stage == 3 or _data.stage == 0 then
|
|
-- data.open_flag = 0
|
|
-- end
|
|
-- else
|
|
-- data.open_flag = 0
|
|
-- end
|
|
-- self:Activity_time_show(data)
|
|
-- elseif task_type == "guildfire" then
|
|
-- -- if RoleManager.Instance.mainRoleInfo.guild_id == 0 then
|
|
-- -- data.open_flag = 0
|
|
-- -- data.huodong_des = "未加入社团"
|
|
-- -- else
|
|
-- -- local _data = GuildModel:getInstance():GetBonfireActInfo()
|
|
-- -- if _data then
|
|
-- -- if _data.state == 0 then
|
|
-- -- data.open_flag = 0
|
|
-- -- end
|
|
-- -- else
|
|
-- -- data.open_flag = 0
|
|
-- -- end
|
|
-- -- self:Activity_time_show(data)
|
|
-- -- end
|
|
-- end
|
|
-- else
|
|
-- data.open_flag = 0
|
|
-- data.huodong_des = data.task_nonopen
|
|
-- end
|
|
-- end
|
|
-- return data
|
|
-- end
|
|
|
|
-- function StrengthModel:Get_Per(data)
|
|
-- local per = data.per or 0
|
|
-- local cur_num = 0
|
|
-- local task_type = data.task_type
|
|
-- local task_id = data.task_id
|
|
-- local max_num = data.max_num
|
|
-- local fun = nil
|
|
|
|
-- if data.page_id == 1 then --只有第一个标签下的信息才有进度条 因为会有很多相同的id值 所以用sort_id替代id值
|
|
-- for k,v in pairs(Config.ConfigStrength.GetProgressFunc) do
|
|
-- if tonumber(data.sort_id) == tonumber(v.id) then
|
|
-- fun = self[v.func]
|
|
-- per, cur_num = fun(self, max_num)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- -- if per <= 1 then
|
|
-- -- per = 1
|
|
-- -- elseif per >= 100 then
|
|
-- -- per = 100
|
|
-- -- end
|
|
-- -- if data.page_id == 1 then
|
|
-- -- if per >= 100 then
|
|
-- -- per = 99
|
|
-- -- end
|
|
-- -- end
|
|
|
|
-- return per, cur_num
|
|
-- end
|
|
|
|
-- function StrengthModel:Add_need_close(data)
|
|
-- -- body
|
|
-- end
|
|
|
|
-- function StrengthModel:Activity_time_show(data)
|
|
-- local index = 1
|
|
-- local time_table_list = {}
|
|
-- local time_table_list_today = {}
|
|
-- for k,v in pairs(Config.Improveactivityhall) do
|
|
-- local str_id = ErlangParser:GetInstance():Parse(v.str_id)[1]
|
|
-- str_id = Trim(str_id)
|
|
-- if str_id == data.task_type then
|
|
-- time_table_list[index] = DeepCopy(v)
|
|
-- index=index+1
|
|
-- end
|
|
-- end--获取相应的数据列表
|
|
-- index = 1
|
|
-- local cur_time = TimeUtil:getServerTime()
|
|
-- local now_time = os.date("*t",cur_time)
|
|
-- local today = now_time.wday-1--当天周几
|
|
|
|
-- for k,v in pairs(time_table_list) do
|
|
-- local day_list = ErlangParser:GetInstance():Parse(v.adate)[1]
|
|
-- local is_today = false
|
|
-- for x,y in pairs(day_list) do
|
|
-- if tonumber(y) == today then
|
|
-- is_today = true
|
|
-- break
|
|
-- end
|
|
-- end
|
|
-- if is_today then
|
|
-- time_table_list_today[index] = v
|
|
-- index = index + 1
|
|
-- end
|
|
-- end
|
|
|
|
-- local _sort = function(a,b)
|
|
-- if a.asort > b.asort then
|
|
-- return false
|
|
-- else
|
|
-- return true
|
|
-- end
|
|
-- end
|
|
-- table.sort( time_table_list, _sort )
|
|
-- if TableSize(time_table_list_today) == 0 then
|
|
-- data.IsNull = true
|
|
-- end
|
|
|
|
-- local time_inside = false
|
|
-- local isover = false
|
|
-- local next_time = nil
|
|
-- for k,v in pairs(time_table_list_today) do
|
|
-- local opentime = ErlangParser:GetInstance():Parse(v.atime)
|
|
-- if opentime then
|
|
-- if now_time.hour < tonumber(opentime[1][1]) then
|
|
-- next_time = opentime[1]
|
|
-- elseif now_time.hour == tonumber(opentime[1][1]) and now_time.min < tonumber(opentime[1][2]) then
|
|
-- next_time = opentime[1]
|
|
-- elseif now_time.hour == tonumber(opentime[1][1]) and now_time.min == tonumber(opentime[1][2]) and now_time.sec <= tonumber(opentime[1][3]) then
|
|
-- next_time = opentime[1]
|
|
-- end
|
|
-- if next_time then
|
|
-- break
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- if not next_time then
|
|
-- data.per = 100
|
|
-- data.huodong_des = "over"
|
|
-- else
|
|
-- data.sort_huodong_id = tonumber(next_time[1]) * 1000 + tonumber(next_time[2])
|
|
|
|
-- if tonumber(next_time[1]) == 0 then
|
|
-- next_time[1] = "00"
|
|
-- end
|
|
-- if tonumber(next_time[1]) < 10 then
|
|
-- next_time[1] = "0"..tonumber(next_time[1])
|
|
-- end
|
|
-- if tonumber(next_time[2]) == 0 then
|
|
-- next_time[2] = "00"
|
|
-- end
|
|
-- if tonumber(next_time[2]) < 10 then
|
|
-- next_time[2] = "0"..tonumber(next_time[2])
|
|
-- end
|
|
-- data.per = 5
|
|
-- local str = next_time[1]..":"..next_time[2].."开启"
|
|
-- data.huodong_des = str
|
|
-- end
|
|
|
|
-- if data.open_flag == 1 then
|
|
-- data.sort_huodong_id = 0
|
|
-- data.huodong_des = ""
|
|
-- data.per = 5
|
|
-- end
|
|
-- end
|
|
|
|
-- ------------------------------------------挑战失败推送--------------------------------------
|
|
-- --挑战失败界面的"变强"推送 boss挑战失败界面 BossResultView 副本失败 DungeonResultView 世界boss失败 ReliveView
|
|
-- function StrengthModel:GetStrengthPush()
|
|
-- local list = {}
|
|
-- local strong_list = {}
|
|
-- local level = RoleManager.Instance.mainRoleInfo.level
|
|
-- local config_data = DeepCopy(Config.Improvefighttask)
|
|
-- for k,v in pairs(config_data) do
|
|
-- if v.page_id == 1 and v.sort_id <= 6 and (level >= v.lv_min and level <= v.lv_max) then
|
|
-- if self:IsFuncOpenLevel(v) then
|
|
-- local data = self:New_Get_Per(v)
|
|
|
|
-- if data then
|
|
-- table.insert(list, data)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- if #list >= 4 then
|
|
-- local sort_func = function(a,b) --对变强途径排序 最小值的排在前面
|
|
-- if a.per >= b.per then
|
|
-- return false
|
|
-- else
|
|
-- return true
|
|
-- end
|
|
-- end
|
|
-- table.sort( list, sort_func )
|
|
|
|
-- for k,v in pairs(list) do --拿出最前面的四个最小值
|
|
-- if k <= 4 then
|
|
-- local strong_way = {winId = v.tagplace, subId = v.sub_tag, per = v.per}
|
|
-- table.insert(strong_list, strong_way)
|
|
-- end
|
|
-- end
|
|
-- else
|
|
-- return Config.ConfigBoss.StrongWay
|
|
-- end
|
|
-- return strong_list
|
|
-- end
|
|
|
|
-- function StrengthModel:New_Get_Per(data)
|
|
-- local per = data.per or 0
|
|
-- local task_type = data.task_type
|
|
-- local task_id = data.task_id
|
|
-- local max_num = data.max_num
|
|
-- local fun = nil
|
|
|
|
-- if data.page_id == 1 then
|
|
-- -- for k,v in pairs(Config.ConfigStrength.StrongWay) do
|
|
-- -- if tonumber(data.sort_id) == tonumber(v.id) then
|
|
-- -- fun = self[v.func]
|
|
-- -- per = fun(self, max_num)
|
|
-- -- data.per = per or 0
|
|
-- -- end
|
|
-- -- end
|
|
-- for k,v in pairs(Config.ConfigStrength.GetProgressFunc) do
|
|
-- if tonumber(data.sort_id) == tonumber(v.id) then
|
|
-- fun = self[v.func]
|
|
-- per = fun(self, max_num)
|
|
-- data.per = per or 0
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
-- return data
|
|
-- end
|
|
|
|
-- --是否是模块开启等级
|
|
-- function StrengthModel:IsFuncOpenLevel(data)
|
|
-- local str = ErlangParser:GetInstance():Parse(data.condition)[1]
|
|
-- str = Trim(str)
|
|
-- local list = Split(str,"_")
|
|
-- local task_type = list[1]
|
|
-- local task_id = list[2]
|
|
|
|
-- if task_type ~= "level" then return false end
|
|
|
|
-- if RoleManager.Instance.mainRoleInfo.level >= tonumber(task_id) then
|
|
-- return true
|
|
-- end
|
|
-- return false
|
|
-- end
|
|
|
|
-- function StrengthModel:SetStrengthFlag(type,value)
|
|
-- local t1 = math.floor(type / 20)
|
|
-- local t2 = type % 20
|
|
|
|
-- local flag = (t2 > 0 and t1 + 1 or t1)
|
|
|
|
-- local bit_num = (t2 == 0 and 20 or t2)
|
|
-- if flag == 1 then
|
|
-- if value then
|
|
-- self.strength_flag_1 = bit.bor(self.strength_flag_1, bit.lshift(1,bit_num))
|
|
-- else
|
|
-- self.strength_flag_1 = bit.band(self.strength_flag_1, bit.bnot(bit.lshift(1,bit_num)))
|
|
-- end
|
|
-- -- self:ChangeVar("strength_flag_1", self.strength_flag_1, nil, true)
|
|
-- elseif flag == 2 then
|
|
-- if value then
|
|
-- self.strength_flag_2 = bit.bor(self.strength_flag_2, bit.lshift(1,bit_num))
|
|
-- else
|
|
-- self.strength_flag_2 = bit.band(self.strength_flag_2, bit.bnot(bit.lshift(1,bit_num)))
|
|
-- end
|
|
-- -- self:ChangeVar("strength_flag_2", self.strength_flag_2, nil, true)
|
|
-- elseif flag == 3 then
|
|
-- if value then
|
|
-- self.strength_flag_3 = bit.bor(self.strength_flag_3, bit.lshift(1,bit_num))
|
|
-- else
|
|
-- self.strength_flag_3 = bit.band(self.strength_flag_3, bit.bnot(bit.lshift(1,bit_num)))
|
|
-- end
|
|
-- -- self:ChangeVar("strength_flag_3", self.strength_flag_3, nil, true)
|
|
-- elseif flag == 4 then
|
|
-- if value then
|
|
-- self.strength_flag_4 = bit.bor(self.strength_flag_4, bit.lshift(1,bit_num))
|
|
-- else
|
|
-- self.strength_flag_4 = bit.band(self.strength_flag_4, bit.bnot(bit.lshift(1,bit_num)))
|
|
-- end
|
|
-- end
|
|
-- end
|
|
|
|
--获得死亡复活变强配置
|
|
function StrengthModel:GetStrongWayCfg( )
|
|
local lv = RoleManager.Instance.mainRoleInfo.level
|
|
for k,v in pairs(Config.Rbstronger) do
|
|
if lv >= v.lv_min and lv <= v.lv_max then
|
|
local result = stringtotable(v.grade)
|
|
for kk,vv in pairs(result) do
|
|
vv.module_id = vv[1]
|
|
vv.sub_id = vv[2]
|
|
end
|
|
return result
|
|
end
|
|
end
|
|
return nil
|
|
end
|
|
|
|
--是否是其他特殊选项
|
|
function StrengthModel:IsOtherOption(module_id, module_sub)
|
|
if not module_id or not module_sub then
|
|
return false
|
|
end
|
|
local key = module_id .. "@" .. module_sub
|
|
|
|
local t =
|
|
{
|
|
["159@1"] = true,
|
|
["451@5"] = true,
|
|
["450@2"] = true,
|
|
}
|
|
|
|
return t[key]
|
|
end
|
|
|
|
--获得死亡复活变强配置
|
|
function StrengthModel:GetOtherOption( )
|
|
local b = false
|
|
local option_res = ""
|
|
local modue_id = 450
|
|
local module_sub = 2
|
|
local module_name = ""
|
|
local vip = RoleManager.Instance:GetMainRoleVo().vip_flag
|
|
local sub_tab_id = false
|
|
if not RechargeActivityModel:getInstance():IsFirstRechager() then
|
|
b = true
|
|
local career = RoleManager.Instance.mainRoleInfo.career
|
|
if career == 1 or career == 2 then
|
|
option_res = "ui_item_first_rechager_1"
|
|
else
|
|
option_res = "ui_item_first_rechager_2"
|
|
end
|
|
modue_id = 159
|
|
module_sub = 1
|
|
module_name = "首充"
|
|
elseif vip < 3 then
|
|
b = true
|
|
option_res = "ui_item_vip_3"
|
|
module_name = "VIP3"
|
|
sub_tab_id = 3
|
|
|
|
elseif vip < 4 then
|
|
b = true
|
|
option_res = "ui_item_vip_4"
|
|
module_name = "VIP4"
|
|
sub_tab_id = 4
|
|
|
|
elseif RoleManager.Instance.mainRoleInfo.sup_vip_type == 0 then
|
|
b = true
|
|
option_res = "ui_item_surper_vip"
|
|
modue_id = 451
|
|
module_sub = 5
|
|
module_name = "贵族"
|
|
|
|
elseif vip < 5 then
|
|
b = true
|
|
option_res = "ui_item_vip_5"
|
|
module_name = "VIP5"
|
|
sub_tab_id = 5
|
|
end
|
|
return b, option_res, modue_id, module_sub, module_name,sub_tab_id
|
|
end
|