Rune.lua 1.2 KB
local Rune = class("Rune", require("shared.ModelBase"))
Rune.schema = {
	id 			= {"number"},
	level		= {"number", 0},		-- 等级
	count		= {"number", 0},		-- 数量
	refer		= {"number", 0},		-- 已装备英雄id
}

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

function Rune:notifyUpdateProperty(field, newValue, oldValue)
	local datas = {
		key = field,
		newValue = newValue,
		oldValue = oldValue,
	}
	self:notifyUpdateProperties(datas)
end

function Rune:notifyUpdateProperties(params)
	local updateData = {
		id = self:getProperty("id"),
		datas = params
	}
	SendPacket(actionCodes.Role_updateRune, MsgPack.pack(updateData))
end

function Rune:updateProperty(params)
	if not params.field or (not params.delta and not params.value) then
		return
	end
	if params.delta then
		self:incrProperty(params.field, params.delta)
	elseif params.value then
		self:setProperty(params.field, params.value)
	end
	local datas = {}
	table.insert(datas, {key = params.field, newValue = self:getProperty(params.field)})
	self:notifyUpdateProperties(datas)
end

function Rune:data()
	return {
		id = self:getProperty("id"),
		level = self:getProperty("level"),
		count = self:getProperty("count"),
	}
end

return Rune