c1_lua/lua/app/userdata/dungeon/dungeon_shards_data_comp.lua
2023-06-14 10:22:34 +08:00

97 lines
2.7 KiB
Lua

local DungeonDataBaseComp = require "app/userdata/dungeon/dungeon_data_base_comp"
local DungeonShardsDataComp = class("DungeonShardsDataComp", DungeonDataBaseComp)
-- 碎片副本数据
function DungeonShardsDataComp:init(data)
self.totalChallengeCount = data.total_challenge_count
self.todayChallengeCount = data.today_challenge_count
self.maxPassedId = data.max_chapter_shards_id
end
function DungeonShardsDataComp:getTotalChallengeCount()
return self.totalChallengeCount
end
function DungeonShardsDataComp:getTodayChallengeCount()
return self.todayChallengeCount
end
function DungeonShardsDataComp:getPassedMaxId()
return self.maxPassedId
end
function DungeonShardsDataComp:getModuleKey()
return ModuleManager.MODULE_KEY.DUNGEON_SHARDS
end
function DungeonShardsDataComp:getOpenWeekCycle()
return {1,3,5,7}
end
function DungeonShardsDataComp:getConfigName()
return "chapter_dungeon_shards"
end
function DungeonShardsDataComp:getTitleString()
return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_SHARDS_TITLE)
end
function DungeonShardsDataComp:getRuleString()
return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_SHARDS_HELP)
end
function DungeonShardsDataComp:getOpenWeekString()
return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_SHARDS_OPEN)
end
function DungeonShardsDataComp:getBossBuff(id)
return self:getConfig()[id].effect[1]
end
function DungeonShardsDataComp:getIcon()
return {GConst.ATLAS_PATH.DUNGEON,"dungeon_dec_2"}
end
function DungeonShardsDataComp:getBanner()
return "assets/arts/textures/background/dungeon/dungeon_bg_2.png"
end
function DungeonShardsDataComp:getOpenTextColor()
return "#E4F5FE"
end
function DungeonShardsDataComp:getChallengeHpCost()
return GFunc.getConstReward("dungeon_shards_cost")
end
function DungeonShardsDataComp:getTodayMaxCount()
return GFunc.getConstIntValue("dungeon_shards_limit")
end
function DungeonShardsDataComp:getBoardShowRewardIcon()
return {GConst.ATLAS_PATH.ICON_ITEM,"20"}
end
function DungeonShardsDataComp:getFirstRewardNum(id)
local count = 0
for index, reward in ipairs(ConfigManager:getConfig("chapter_dungeon_shards")[id].first_pass_reward) do
count = count + GFunc.getRewardNum(reward)
end
return count
end
function DungeonShardsDataComp:getPassRewardNum(id)
local count = 0
local pass = ConfigManager:getConfig("chapter_dungeon_shards")[id].pass_reward
local wave = ConfigManager:getConfig("chapter_dungeon_shards")[id].wave_reward
for index, reward in ipairs(pass) do
count = count + GFunc.getRewardNum(reward)
end
for index, reward in ipairs(wave) do
count = count + GFunc.getRewardNum(reward)
end
return count
end
return DungeonShardsDataComp