0a07bdd9
zhouahaihai
角色升级 。gm
|
1
2
|
local Hero = class("Hero", require("shared.ModelBase"))
|
8c74292c
zhouahaihai
增加item 以及 角色突破
|
3
4
5
|
local HeroPlugin = import(".HeroPlugin")
HeroPlugin.bind(Hero)
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
6
|
Hero.schema = {
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
7
8
|
id = {"number"},
type = {"number", 0},
|
87cc3a35
zhengshouren
餐厅建筑升级逻辑
|
9
10
|
level = {"number", 1}, -- 等级
breakL = {"number", 0}, -- 突破等级
|
b96f8839
gaofengduan
觉醒初始等级为 1
|
11
|
wakeL = {"number", 1}, -- 觉醒等级
|
87cc3a35
zhengshouren
餐厅建筑升级逻辑
|
12
13
14
15
16
|
skillL = {"string", ""}, -- 技能等级 1=1 2=1 3=1
talent = {"string", ""}, -- 0=阶段 1=1 2=1 3=1 4=1 四个天赋当前阶段的等级 阶段默认为1 等级默认为0
battleV = {"number", 0}, -- 保存战斗力
loveExp = {"number", 0}, --好感度经验
loveL = {"number", 0}, --好感度等级
|
9c525cf9
gaofengduan
add car smithy
|
17
|
skin = {"number", 0}, --皮肤 0 、 1、 2、 3
|
4ea1b5ac
zhouhaihai
穿戴零件
|
18
19
|
equip = {"string",""}, --装备 type=level
rune = {"string",""}, --零件 type=id
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
20
21
|
}
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
22
23
|
function Hero:ctor( properties )
Hero.super.ctor(self, properties)
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
24
25
26
|
end
function Hero:notifyUpdateProperty(field, newValue, oldValue)
|
87cc3a35
zhengshouren
餐厅建筑升级逻辑
|
27
|
local datas = {
|
ee999bde
zhouhaihai
零件优化
|
28
29
30
31
32
33
34
35
|
id = self:getProperty("id"),
datas = {
{
key = field,
newValue = newValue,
oldValue = oldValue,
}
}
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
36
|
}
|
87cc3a35
zhengshouren
餐厅建筑升级逻辑
|
37
|
self:notifyUpdateProperties(datas)
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
38
39
40
|
end
function Hero:notifyUpdateProperties(params)
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
41
42
43
44
|
local updateData = {
id = self:getProperty("id"),
datas = params
}
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
45
|
SendPacket(actionCodes.Hero_updateProperty, MsgPack.pack(updateData))
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
46
47
48
|
end
function Hero:updateProperty(params)
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
49
50
51
52
53
54
55
56
57
58
|
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)})
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
59
|
|
ece975b6
zhouhaihai
属性计算
|
60
|
local check = {level = true, breakL = true, wakeL = true, talent = true, loveL = true, skin = true, equip = true, rune = true}
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
61
62
63
64
65
66
67
|
if check[params.field] then
local orginValue = self:getProperty("battleV")
local curValue = self:saveBattleValue()
if orginValue ~= curValue then
table.insert(datas, { key = "battleV", newValue = curValue })
end
end
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
68
|
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
69
|
self:notifyUpdateProperties(datas)
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
70
71
72
73
74
75
|
end
function Hero:data()
return {
id = self:getProperty("id"),
type = self:getProperty("type"),
|
a43410e1
zhengshouren
整理格式,使用tab替代空格
|
76
77
78
79
80
81
82
83
|
level = self:getProperty("level"),
breakL = self:getProperty("breakL"),
wakeL = self:getProperty("wakeL"),
skillL = self:getProperty("skillL"),
talent = self:getProperty("talent"),
battleV = self:getProperty("battleV"),
loveExp = self:getProperty("loveExp"),
loveL = self:getProperty("loveL"),
|
6947e382
zhouahaihai
好感度, 皮肤
|
84
|
skin = self:getProperty("skin"),
|
24d77701
gaofengduan
fix equip
|
85
86
|
equip = self:getProperty("equip"),
rune = self:getProperty("rune"),
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
87
88
89
|
}
end
|
15cba0bf
zhouhaihai
修改天赋升级消耗
|
90
|
function Hero:getCamp()
|
e3c3a4f5
zhouhaihai
bug
|
91
|
return csvdb["unitCsv"][self:getProperty("type")].camp
|
1c35c4cf
gaofengduan
fix hero awake
|
92
93
|
end
|
0a07bdd9
zhouahaihai
角色升级 。gm
|
94
|
return Hero
|