From 286a8f957532a5117b728f6137be97312213c17f Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Thu, 12 Sep 2019 10:45:57 +0800 Subject: [PATCH] 刷新任务和主线 分开 --- src/adv/AdvTask.lua | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/adv/AdvTask.lua b/src/adv/AdvTask.lua index d3e02f0..409bd42 100644 --- a/src/adv/AdvTask.lua +++ b/src/adv/AdvTask.lua @@ -1,6 +1,7 @@ local AdvTask = {} +local advTaskChange = {} function AdvTask.bind(Adv) Adv.TaskType = { Arrive = 1, --到达N层 @@ -60,14 +61,14 @@ function AdvTask.bind(Adv) function Adv:initLayerTask() self.advTask = {} - self.advTaskChange = true + advTaskChange.t = true + advTaskChange.m = true if not next(self.advMTask) then self.advMTask = { id = 1, status = 0, lock = 1, } - self.advTaskChange = true end self.advMTask.id = self.advMTask.id or 1 local mainTaskData = csvdb["adv_questCsv"][self.advMTask.id] @@ -79,7 +80,6 @@ function AdvTask.bind(Adv) if ts then self.advMTask.status = ts end - self.advTaskChange = true end end end @@ -92,7 +92,7 @@ function AdvTask.bind(Adv) local ts = checkTaskStatus(self, taskData, status, count, cond) if ts then self.advTask[taskId] = ts - self.advTaskChange = true + advTaskChange.t = true end end end @@ -102,7 +102,7 @@ function AdvTask.bind(Adv) local ts = checkTaskStatus(self, mainTaskData, self.advMTask.status, count, cond) if ts then self.advMTask.status = ts - self.advTaskChange = true + advTaskChange.m = true end end end @@ -117,7 +117,7 @@ function AdvTask.bind(Adv) self.advTask[taskId] = ts end - self.advTaskChange = true + advTaskChange.t = true return true end end @@ -133,7 +133,7 @@ function AdvTask.bind(Adv) end self.advTask[taskId] = nil ok = true - self.advTaskChange = true + advTaskChange.t = true end return ok, reward end @@ -159,16 +159,23 @@ function AdvTask.bind(Adv) end end ok = true - self.advTaskChange = true + advTaskChange.m = true end return ok, reward end function Adv:updateTask(notNotify) - if self.advTaskChange then - self.owner:updateProperties({advTask = self.advTask, advMTask = self.advMTask}, notNotify) + local properties = {} + if advTaskChange.t then + properties.advTask = self.advTask end - self.advTaskChange = false + if advTaskChange.m then + properties.advMTask = self.advMTask + end + if next(properties) then + self.owner:updateProperties(properties, notNotify) + end + advTaskChange = {} end end -- libgit2 0.21.2