44 lines
1.4 KiB
Lua
44 lines
1.4 KiB
Lua
local TARGET_STATE = {
|
||
UNFINISHED = 0, --未完成
|
||
FINISHED = 1, --已完成
|
||
EXPIRED = 2 --过期
|
||
}
|
||
|
||
local Default = {
|
||
_Id = 0,
|
||
_StartDay = 0, --开始天数
|
||
_EndDay = 0, --结束天数(为0时不限期)
|
||
_Value = 0, --进度(已完成数量)
|
||
_MaxValue = 0, --进度(最大数量)
|
||
_State = TARGET_STATE.UNFINISHED, --状态
|
||
_IsExtra = false, --检查是否是关卡中额外接取的任务(不属于初始主任务/子任务)
|
||
_Passed = false --是否达成目标
|
||
}
|
||
|
||
--末日生存玩法-关卡目标
|
||
local XDoomsdayTarget = XClass(XDataEntityBase, "XDoomsdayTarget")
|
||
|
||
function XDoomsdayTarget:Ctor(isExtra)
|
||
self:Init(Default)
|
||
self:SetProperty("_IsExtra", isExtra)
|
||
end
|
||
|
||
function XDoomsdayTarget:UpdateData(data)
|
||
self:SetProperty("_Id", data.Id)
|
||
self:SetProperty("_StartDay", data.AddedDay)
|
||
self:SetProperty("_EndDay", data.LimitEndDay)
|
||
self:SetProperty("_State", data.ConditionDb.State)
|
||
self:SetProperty("_Value", data.ConditionDb.Value)
|
||
self:SetProperty("_MaxValue", data.ConditionDb.MaxValue)
|
||
self:SetProperty("_Passed", self._State == TARGET_STATE.FINISHED)
|
||
end
|
||
|
||
--需要展示的支线任务
|
||
function XDoomsdayTarget:IsExtraToShow()
|
||
if not self:GetProperty("_IsExtra") then
|
||
return false
|
||
end
|
||
return self:GetProperty("_State") == TARGET_STATE.UNFINISHED
|
||
end
|
||
|
||
return XDoomsdayTarget
|