Daily.lua 1.68 KB
-- 日常数据

local Daily = class("Daily", require("shared.ModelBase"))

function Daily:ctor(properties)
	Daily.super.ctor(self, properties)
end

Daily.schema = {
	commentHero		= {"string", ""},		-- 单日评论食灵记录 type=1
	hangQC			= {"number", 0},		-- 挂机快速次数
	dinerQC			= {"number", 0},		-- 贩卖加速次数
	advC			= {"number", 0},		-- 冒险次数(消耗体力)
	advElC			= {"number", 0},		-- 无尽次数(消耗体力)
	advBC			= {"number", 0},		-- 冒险次数购买次数(冒险体力购买次数)
	advElBC			= {"number", 0},		-- 无尽次数购买次数(冒险体力购买次数)
	advWs			= {"table", {}}, -- 冒险队工坊
}

function Daily:updateProperty(params)
	local type, default = table.unpack(self.schema[params.field])

	if params.delta then
		self:incrProperty(params.field, params.delta)
		self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
		return true
	end
	if params.value then
		self:setProperty(params.field, params.value)
		self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
		return true
	end
	return false
end

function Daily:refreshDailyData(notify)
	for field, schema in pairs(self.schema) do
		if field ~= "key" then
			local typ, def = table.unpack(schema)
			self:setProperty(field, def)
		end
	end
	if notify then
		self.owner:notifyUpdateProperties(self:data())
	end
end

function Daily:data()
	return {
		hangQC = self:getProperty("hangQC"),
		dinerQC = self:getProperty("dinerQC"),
		advC = self:getProperty("advC"),
		advBC = self:getProperty("advBC"),
		advElC = self:getProperty("advElC"),
		advElBC = self:getProperty("advElBC"),
		advWs = self:getProperty("advWs"),
	}
end

return Daily