From b9a0eabd4f8196c33d0c249fc7315ae290267266 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 25 May 2020 19:31:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=81=E7=BB=9D=E9=98=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Battle/Logic/OutDataManager.lua | 54 +++++++++++++++++++ .../jieling/logic/family/DeathPathLogic.java | 6 +++ 2 files changed, 60 insertions(+) create mode 100644 luafight/Modules/Battle/Logic/OutDataManager.lua diff --git a/luafight/Modules/Battle/Logic/OutDataManager.lua b/luafight/Modules/Battle/Logic/OutDataManager.lua new file mode 100644 index 000000000..7304f96f3 --- /dev/null +++ b/luafight/Modules/Battle/Logic/OutDataManager.lua @@ -0,0 +1,54 @@ +--战斗外数据管理、 +OutDataManager = {} +local this = OutDataManager +-- + +local function _Split(input, delimiter) + input = tostring(input) + delimiter = tostring(delimiter) + if (delimiter=='') then return false end + local pos,arr = 0, {} + -- for each divider found + for st,sp in function() return string.find(input, delimiter, pos, true) end do + table.insert(arr, string.sub(input, pos, st - 1)) + pos = sp + 1 + end + table.insert(arr, string.sub(input, pos)) + return arr +end + +local datalist = {} +-- 分割字符串为2维数组 +local function _SplitToDic(dataStr) + local ar2 = {} + if not dataStr or dataStr == "" then return ar2 end + local strs = _Split(dataStr, "|") + for i, s in ipairs(strs) do + local ss = _Split(s, "#") + local key = tonumber(ss[1]) + local value = tonumber(ss[2]) + ar2[key] = value + end + return ar2 +end +-- 初始化 +function this.Init(fightData) + datalist[0] = _SplitToDic(fightData.playerData.outData) + for i = 1, #fightData.enemyData do + if not datalist[1] then + datalist[1] = {} + end + datalist[1][i] = _SplitToDic(fightData.enemyData[i].outData) + end +end + +-- 获取战斗外数据 +function this.GetOutData(camp, id) + if camp == 0 then + return datalist[camp][id] + else + return datalist[camp][BattleLogic.CurOrder][id] + end +end + +return this \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java index d494cee3b..ab482d9bf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java @@ -162,6 +162,12 @@ public class DeathPathLogic { } break; case 2: + long appointTime = TimeUtils.getAppointTime(0, 0)+TimeUtils.DAY; + //如果今天是开战 + if (dayStats==1){ + appointTime+=(int)(TimeUtils.DAY); + } + overTime = (int)(appointTime/1000); AbstractRank guildTotalRank = RankContext.getRankEnum(RankEnum.DEATH_PATH_TOTAL_GUILD_RANK.getType()); Set> firstGuild = guildTotalRank.getRankByKey("", 0, 1); if(firstGuild.isEmpty()||firstGuild.size()>1){