From 4d05a6e4332629182e994ed2496c6fed3819ab1f Mon Sep 17 00:00:00 2001 From: Fang Date: Wed, 14 Jun 2023 14:51:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=BD=E5=90=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._base_comp.lua => dungeon_base_entity.lua} | 48 +++++------ ....lua.meta => dungeon_base_entity.lua.meta} | 2 +- lua/app/userdata/dungeon/dungeon_data.lua | 4 +- .../dungeon/dungeon_gold_data_comp.lua | 80 ----------------- .../userdata/dungeon/dungeon_gold_entity.lua | 86 +++++++++++++++++++ ....lua.meta => dungeon_gold_entity.lua.meta} | 2 +- ...ata_comp.lua => dungeon_shards_entity.lua} | 59 +++++++------ ...ua.meta => dungeon_shards_entity.lua.meta} | 2 +- 8 files changed, 149 insertions(+), 134 deletions(-) rename lua/app/userdata/dungeon/{dungeon_data_base_comp.lua => dungeon_base_entity.lua} (55%) rename lua/app/userdata/dungeon/{dungeon_shards_data_comp.lua.meta => dungeon_base_entity.lua.meta} (86%) delete mode 100644 lua/app/userdata/dungeon/dungeon_gold_data_comp.lua create mode 100644 lua/app/userdata/dungeon/dungeon_gold_entity.lua rename lua/app/userdata/dungeon/{dungeon_data_base_comp.lua.meta => dungeon_gold_entity.lua.meta} (86%) rename lua/app/userdata/dungeon/{dungeon_shards_data_comp.lua => dungeon_shards_entity.lua} (51%) rename lua/app/userdata/dungeon/{dungeon_gold_data_comp.lua.meta => dungeon_shards_entity.lua.meta} (86%) diff --git a/lua/app/userdata/dungeon/dungeon_data_base_comp.lua b/lua/app/userdata/dungeon/dungeon_base_entity.lua similarity index 55% rename from lua/app/userdata/dungeon/dungeon_data_base_comp.lua rename to lua/app/userdata/dungeon/dungeon_base_entity.lua index cf264def..57a38c20 100644 --- a/lua/app/userdata/dungeon/dungeon_data_base_comp.lua +++ b/lua/app/userdata/dungeon/dungeon_base_entity.lua @@ -1,103 +1,103 @@ -local DungeonDataBaseComp = class("DungeonDataBaseComp", BaseData) +local DungeonBaseEntity = class("DungeonBaseEntity", BaseData) -- 需要继承重写的部分 *********************************************************** -- 初始化服务器数据 -function DungeonDataBaseComp:init(data) +function DungeonBaseEntity:init(data) end -- 获取副本模块名,对应ModuleManager.MODULE_KEY -function DungeonDataBaseComp:getModuleKey() +function DungeonBaseEntity:getModuleKey() return nil end -- 获取副本开启周期(星期几) -function DungeonDataBaseComp:getOpenWeekCycle() +function DungeonBaseEntity:getOpenWeekCycle() return nil end -- 获取副本配置名称 -function DungeonDataBaseComp:getConfigName() +function DungeonBaseEntity:getConfigName() return nil end -- 获取副本标题文案 -function DungeonDataBaseComp:getTitleString() +function DungeonBaseEntity:getTitleString() return nil end -- 获取副本规则描述(金币副本) -function DungeonDataBaseComp:getRuleString() +function DungeonBaseEntity:getRuleString() return nil end -- 获取副本boss抗性(碎片副本) -function DungeonDataBaseComp:getBossBuff(id) +function DungeonBaseEntity:getBossBuff(id) return nil end -- 获取开始时间描述 -function DungeonDataBaseComp:getOpenWeekString() +function DungeonBaseEntity:getOpenWeekString() return nil end -- 获取副本角标图 -function DungeonDataBaseComp:getIcon() +function DungeonBaseEntity:getIcon() return nil end -- 获取副本banner图 -function DungeonDataBaseComp:getBanner() +function DungeonBaseEntity:getBanner() return nil end -- 获取开启时间文本颜色 -function DungeonDataBaseComp:getOpenTextColor() +function DungeonBaseEntity:getOpenTextColor() return nil end -- 获取总挑战次数 -function DungeonDataBaseComp:getTotalChallengeCount() +function DungeonBaseEntity:getTotalChallengeCount() return nil end -- 获取今日已挑战次数 -function DungeonDataBaseComp:getTodayChallengeCount() +function DungeonBaseEntity:getTodayChallengeCount() return nil end -- 获取已通关的最大副本id -function DungeonDataBaseComp:getPassedMaxId() +function DungeonBaseEntity:getPassedMaxId() return nil end -- 获取挑战体力消耗 -function DungeonDataBaseComp:getChallengeHpCost() +function DungeonBaseEntity:getChallengeHpCost() return nil end -- 获取每日最大挑战次数 -function DungeonDataBaseComp:getTodayMaxCount() +function DungeonBaseEntity:getTodayMaxCount() return nil end -- 获取看板展示的副本奖励(返回icon) -function DungeonDataBaseComp:getBoardShowRewardIcon() +function DungeonBaseEntity:getBoardShowRewardIcon() return nil end -- 获取看板展示的副本奖励(返回id list) -function DungeonDataBaseComp:getBoardShowRewardId() +function DungeonBaseEntity:getBoardShowRewardId() return nil end -- 获取首通奖励个数 -function DungeonDataBaseComp:getFirstRewardNum() +function DungeonBaseEntity:getFirstRewardNum() return nil end -- 获取通关奖励个数 -function DungeonDataBaseComp:getPassRewardNum() +function DungeonBaseEntity:getPassRewardNum() return nil end @@ -105,13 +105,13 @@ end -- 常规逻辑 ********************************************************************* -- 获取今日剩余挑战次数 -function DungeonDataBaseComp:getTodayRemainLimitCount() +function DungeonBaseEntity:getTodayRemainLimitCount() return self:getTodayMaxCount() - self:getTodayChallengeCount() end -- 获取副本配置 -function DungeonDataBaseComp:getConfig() +function DungeonBaseEntity:getConfig() return ConfigManager:getConfig(self:getConfigName()) end -return DungeonDataBaseComp \ No newline at end of file +return DungeonBaseEntity \ No newline at end of file diff --git a/lua/app/userdata/dungeon/dungeon_shards_data_comp.lua.meta b/lua/app/userdata/dungeon/dungeon_base_entity.lua.meta similarity index 86% rename from lua/app/userdata/dungeon/dungeon_shards_data_comp.lua.meta rename to lua/app/userdata/dungeon/dungeon_base_entity.lua.meta index da7d0728..4f849ef1 100644 --- a/lua/app/userdata/dungeon/dungeon_shards_data_comp.lua.meta +++ b/lua/app/userdata/dungeon/dungeon_base_entity.lua.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a6126d3822550ed449313e7bdb7b6fe1 +guid: e4b0cc0f74106f04ab07ab30b1b724d8 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/lua/app/userdata/dungeon/dungeon_data.lua b/lua/app/userdata/dungeon/dungeon_data.lua index 9560eb9e..24a15496 100644 --- a/lua/app/userdata/dungeon/dungeon_data.lua +++ b/lua/app/userdata/dungeon/dungeon_data.lua @@ -53,8 +53,8 @@ end function DungeonData:initAllDataClass() if self.dataDungeons == nil then self.dataDungeons = {} - self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_GOLD] = require "app/userdata/dungeon/dungeon_gold_data_comp":create() - self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_SHARDS] = require "app/userdata/dungeon/dungeon_shards_data_comp":create() + self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_GOLD] = require "app/userdata/dungeon/dungeon_gold_entity":create() + self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_SHARDS] = require "app/userdata/dungeon/dungeon_shards_entity":create() if EDITOR_MODE then Logger.logHighlight("星期".. tostring(Time:getWeekByTimeStamp())) diff --git a/lua/app/userdata/dungeon/dungeon_gold_data_comp.lua b/lua/app/userdata/dungeon/dungeon_gold_data_comp.lua deleted file mode 100644 index 5900371e..00000000 --- a/lua/app/userdata/dungeon/dungeon_gold_data_comp.lua +++ /dev/null @@ -1,80 +0,0 @@ -local DungeonDataBaseComp = require "app/userdata/dungeon/dungeon_data_base_comp" -local DungeonGoldDataComp = class("DungeonGoldDataComp", DungeonDataBaseComp) - --- 金币副本数据 - -function DungeonGoldDataComp:init(data) - self.totalChallengeCount = data.total_challenge_count - self.todayChallengeCount = data.today_challenge_count - self.maxPassedId = data.max_chapter_gold_id -end - -function DungeonGoldDataComp:getTotalChallengeCount() - return self.totalChallengeCount -end - -function DungeonGoldDataComp:getTodayChallengeCount() - return self.todayChallengeCount -end - -function DungeonGoldDataComp:getPassedMaxId() - return self.maxPassedId -end - -function DungeonGoldDataComp:getModuleKey() - return ModuleManager.MODULE_KEY.DUNGEON_GOLD -end - -function DungeonGoldDataComp:getOpenWeekCycle() - return {2,4,6,7} -end - -function DungeonGoldDataComp:getConfigName() - return "chapter_dungeon_gold" -end - -function DungeonGoldDataComp:getTitleString() - return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_GOLD_TITLE) -end - -function DungeonGoldDataComp:getRuleString() - return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_GOLD_HELP) -end - -function DungeonGoldDataComp:getOpenWeekString() - return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_GOLD_OPEN) -end - -function DungeonGoldDataComp:getIcon() - return {GConst.ATLAS_PATH.DUNGEON,"dungeon_dec_1"} -end - -function DungeonGoldDataComp:getBanner() - return "assets/arts/textures/background/dungeon/dungeon_bg_1.png" -end - -function DungeonGoldDataComp:getOpenTextColor() - return "#FFEDC5" -end - -function DungeonGoldDataComp:getChallengeHpCost() - return GFunc.getConstReward("dungeon_gold_cost") -end - -function DungeonGoldDataComp:getTodayMaxCount() - return GFunc.getConstIntValue("dungeon_gold_limit") -end - -function DungeonGoldDataComp:getBoardShowRewardId() - return 1 -end - -function DungeonGoldDataComp:getFirstRewardNum(id) - return GFunc.getRewardNum(ConfigManager:getConfig("chapter_dungeon_gold")[id].first_pass_reward) -end - -function DungeonGoldDataComp:getPassRewardNum(id) - return GFunc.getRewardNum(ConfigManager:getConfig("chapter_dungeon_gold")[id].percent_reward) -end - -return DungeonGoldDataComp \ No newline at end of file diff --git a/lua/app/userdata/dungeon/dungeon_gold_entity.lua b/lua/app/userdata/dungeon/dungeon_gold_entity.lua new file mode 100644 index 00000000..f059d6c4 --- /dev/null +++ b/lua/app/userdata/dungeon/dungeon_gold_entity.lua @@ -0,0 +1,86 @@ +local DungeonBaseEntity = require "app/userdata/dungeon/dungeon_base_entity" +local DungeonGoldEntity = class("DungeonGoldEntity", DungeonBaseEntity) + +-- 金币副本数据 + +function DungeonGoldEntity:init(data) + self.totalChallengeCount = data.total_challenge_count + self.todayChallengeCount = data.today_challenge_count + self.maxPassedId = data.max_chapter_gold_id +end + +function DungeonGoldEntity:getTotalChallengeCount() + return self.totalChallengeCount +end + +function DungeonGoldEntity:getTodayChallengeCount() + return self.todayChallengeCount +end + +function DungeonGoldEntity:getPassedMaxId() + return self.maxPassedId +end + +function DungeonGoldEntity:getModuleKey() + return ModuleManager.MODULE_KEY.DUNGEON_GOLD +end + +function DungeonGoldEntity:getOpenWeekCycle() + if self.openWeek == nil then + self.openWeek = {2,4,6,7} + end + return self.openWeek +end + +function DungeonGoldEntity:getConfigName() + return "chapter_dungeon_gold" +end + +function DungeonGoldEntity:getTitleString() + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_GOLD_TITLE) +end + +function DungeonGoldEntity:getRuleString() + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_GOLD_HELP) +end + +function DungeonGoldEntity:getOpenWeekString() + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_GOLD_OPEN) +end + +function DungeonGoldEntity:getIcon() + if self.dungeonIcon == nil then + self.dungeonIcon = {GConst.ATLAS_PATH.DUNGEON,"dungeon_dec_1"} + end + return self.dungeonIcon +end + +function DungeonGoldEntity:getBanner() + return "assets/arts/textures/background/dungeon/dungeon_bg_1.png" +end + +function DungeonGoldEntity:getOpenTextColor() + return "#FFEDC5" +end + +function DungeonGoldEntity:getChallengeHpCost() + return GFunc.getConstReward("dungeon_gold_cost") +end + +function DungeonGoldEntity:getTodayMaxCount() + return GFunc.getConstIntValue("dungeon_gold_limit") +end + +function DungeonGoldEntity:getBoardShowRewardId() + return 1 +end + +function DungeonGoldEntity:getFirstRewardNum(id) + return GFunc.getRewardNum(ConfigManager:getConfig("chapter_dungeon_gold")[id].first_pass_reward) +end + +function DungeonGoldEntity:getPassRewardNum(id) + return GFunc.getRewardNum(ConfigManager:getConfig("chapter_dungeon_gold")[id].percent_reward) +end + +return DungeonGoldEntity \ No newline at end of file diff --git a/lua/app/userdata/dungeon/dungeon_data_base_comp.lua.meta b/lua/app/userdata/dungeon/dungeon_gold_entity.lua.meta similarity index 86% rename from lua/app/userdata/dungeon/dungeon_data_base_comp.lua.meta rename to lua/app/userdata/dungeon/dungeon_gold_entity.lua.meta index 76653357..e259d755 100644 --- a/lua/app/userdata/dungeon/dungeon_data_base_comp.lua.meta +++ b/lua/app/userdata/dungeon/dungeon_gold_entity.lua.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4e42e026c21002845b2e72498b2e2e92 +guid: 792ac3a45b52c5d4c895737413faf6db ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/lua/app/userdata/dungeon/dungeon_shards_data_comp.lua b/lua/app/userdata/dungeon/dungeon_shards_entity.lua similarity index 51% rename from lua/app/userdata/dungeon/dungeon_shards_data_comp.lua rename to lua/app/userdata/dungeon/dungeon_shards_entity.lua index 6bf0eb71..73e8d6de 100644 --- a/lua/app/userdata/dungeon/dungeon_shards_data_comp.lua +++ b/lua/app/userdata/dungeon/dungeon_shards_entity.lua @@ -1,79 +1,88 @@ -local DungeonDataBaseComp = require "app/userdata/dungeon/dungeon_data_base_comp" -local DungeonShardsDataComp = class("DungeonShardsDataComp", DungeonDataBaseComp) +local DungeonBaseEntity = require "app/userdata/dungeon/dungeon_base_entity" +local DungeonShardsEntity = class("DungeonShardsEntity", DungeonBaseEntity) -- 碎片副本数据 -function DungeonShardsDataComp:init(data) +function DungeonShardsEntity: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() +function DungeonShardsEntity:getTotalChallengeCount() return self.totalChallengeCount end -function DungeonShardsDataComp:getTodayChallengeCount() +function DungeonShardsEntity:getTodayChallengeCount() return self.todayChallengeCount end -function DungeonShardsDataComp:getPassedMaxId() +function DungeonShardsEntity:getPassedMaxId() return self.maxPassedId end -function DungeonShardsDataComp:getModuleKey() +function DungeonShardsEntity:getModuleKey() return ModuleManager.MODULE_KEY.DUNGEON_SHARDS end -function DungeonShardsDataComp:getOpenWeekCycle() - return {1,3,5,7} +function DungeonShardsEntity:getOpenWeekCycle() + if self.openWeek == nil then + self.openWeek = {1,3,5,7} + end + return self.openWeek end -function DungeonShardsDataComp:getConfigName() +function DungeonShardsEntity:getConfigName() return "chapter_dungeon_shards" end -function DungeonShardsDataComp:getTitleString() +function DungeonShardsEntity:getTitleString() return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_SHARDS_TITLE) end -function DungeonShardsDataComp:getRuleString() +function DungeonShardsEntity:getRuleString() return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_SHARDS_HELP) end -function DungeonShardsDataComp:getOpenWeekString() +function DungeonShardsEntity:getOpenWeekString() return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_SHARDS_OPEN) end -function DungeonShardsDataComp:getBossBuff(id) +function DungeonShardsEntity:getBossBuff(id) return self:getConfig()[id].effect[1] end -function DungeonShardsDataComp:getIcon() - return {GConst.ATLAS_PATH.DUNGEON,"dungeon_dec_2"} +function DungeonShardsEntity:getIcon() + if self.dungeonIcon == nil then + self.dungeonIcon = {GConst.ATLAS_PATH.DUNGEON,"dungeon_dec_2"} + end + return self.dungeonIcon end -function DungeonShardsDataComp:getBanner() +function DungeonShardsEntity:getBanner() return "assets/arts/textures/background/dungeon/dungeon_bg_2.png" end -function DungeonShardsDataComp:getOpenTextColor() +function DungeonShardsEntity:getOpenTextColor() return "#E4F5FE" end -function DungeonShardsDataComp:getChallengeHpCost() +function DungeonShardsEntity:getChallengeHpCost() return GFunc.getConstReward("dungeon_shards_cost") end -function DungeonShardsDataComp:getTodayMaxCount() +function DungeonShardsEntity:getTodayMaxCount() return GFunc.getConstIntValue("dungeon_shards_limit") end -function DungeonShardsDataComp:getBoardShowRewardIcon() - return {GConst.ATLAS_PATH.ICON_ITEM,"20"} +function DungeonShardsEntity:getBoardShowRewardIcon() + if self.rewardIcon == nil then + self.rewardIcon = {GConst.ATLAS_PATH.ICON_ITEM,"20"} + end + return self.rewardIcon end -function DungeonShardsDataComp:getFirstRewardNum(id) +function DungeonShardsEntity: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) @@ -81,7 +90,7 @@ function DungeonShardsDataComp:getFirstRewardNum(id) return count end -function DungeonShardsDataComp:getPassRewardNum(id) +function DungeonShardsEntity: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 @@ -94,4 +103,4 @@ function DungeonShardsDataComp:getPassRewardNum(id) return count end -return DungeonShardsDataComp \ No newline at end of file +return DungeonShardsEntity \ No newline at end of file diff --git a/lua/app/userdata/dungeon/dungeon_gold_data_comp.lua.meta b/lua/app/userdata/dungeon/dungeon_shards_entity.lua.meta similarity index 86% rename from lua/app/userdata/dungeon/dungeon_gold_data_comp.lua.meta rename to lua/app/userdata/dungeon/dungeon_shards_entity.lua.meta index 59bba927..f6e34ec0 100644 --- a/lua/app/userdata/dungeon/dungeon_gold_data_comp.lua.meta +++ b/lua/app/userdata/dungeon/dungeon_shards_entity.lua.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 962fc33db86976b4cbcd1205a2fbdd82 +guid: 915b7ed44e1bfb24fa12a24eeb2813d3 ScriptedImporter: internalIDToNameTable: [] externalObjects: {}