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