Blame view

src/models/Daily.lua 3.15 KB
be9c9ca6   zhouahaihai   角色评论
1
2
3
4
5
  -- 日常数据
  
  local Daily = class("Daily", require("shared.ModelBase"))
  
  function Daily:ctor(properties)
a43410e1   zhengshouren   整理格式,使用tab替代空格
6
  	Daily.super.ctor(self, properties)
be9c9ca6   zhouahaihai   角色评论
7
8
9
  end
  
  Daily.schema = {
87cc3a35   zhengshouren   餐厅建筑升级逻辑
10
11
12
  	commentHero		= {"string", ""},		-- 单日评论食灵记录 type=1
  	hangQC			= {"number", 0},		-- 挂机快速次数
  	dinerQC			= {"number", 0},		-- 贩卖加速次数
09be9059   zhouhaihai   冒险接口
13
  	advC			= {"number", 0},		-- 冒险次数(消耗体力)
e38b9c49   zhouhaihai   无尽次数
14
  	advElC			= {"number", 0},		-- 无尽次数(消耗体力)
09be9059   zhouhaihai   冒险接口
15
  	advBC			= {"number", 0},		-- 冒险次数购买次数(冒险体力购买次数)
e38b9c49   zhouhaihai   无尽次数
16
  	advElBC			= {"number", 0},		-- 无尽次数购买次数(冒险体力购买次数)
f60b89b1   zhouhaihai   奖励副本
17
  	advWs			= {"table", {}}, 		-- 冒险队工坊
c384626d   zhouhaihai   好友
18
19
20
  	bonusC			= {"table", {}}, 		-- 奖励副本 次数 {[type] = {c = 0, b = 0}}
  	giveFP			= {"table", {}},		-- 给谁送过心心
  	getFP			= {"table", {}},		-- 领过谁的心心
4cf74232   zhouhaihai   pvp
21
  	pvpFree			= {"number", 0},		-- pvp使用免费次数
cccc9c70   zhouhaihai   商城
22
23
24
  
  	dailySDC		= {"table", {}},		-- daily shop diamond  count {[id] = count} -- 每日商城购买次数统计
  	dailySDD		= {"table", {}},		-- daily shop diamond  disount {[id] = 1} -- 每日商城折扣统计
9ced5432   zhouhaihai   冒险支援效果 保底事件
25
26
  
  	advSupRe		= {"number", 0}, 		-- 冒险支援效果刷新次数	
be9c9ca6   zhouahaihai   角色评论
27
28
  }
  
be9c9ca6   zhouahaihai   角色评论
29
  function Daily:updateProperty(params)
a43410e1   zhengshouren   整理格式,使用tab替代空格
30
31
32
  	local type, default = table.unpack(self.schema[params.field])
  
  	if params.delta then
4faef572   zhouhaihai   冒险任务,冒险扫荡, 冒险中继
33
  		self:incrProperty(params.field, params.delta)
440aa055   zhouhaihai   聊天
34
35
36
  		if not params.notNotify then
  			self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
  		end
a43410e1   zhengshouren   整理格式,使用tab替代空格
37
38
39
40
  		return true
  	end
  	if params.value then
  		self:setProperty(params.field, params.value)
440aa055   zhouhaihai   聊天
41
42
43
  		if not params.notNotify then
  			self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
  		end
a43410e1   zhengshouren   整理格式,使用tab替代空格
44
45
46
  		return true
  	end
  	return false
be9c9ca6   zhouahaihai   角色评论
47
48
49
  end
  
  function Daily:refreshDailyData(notify)
c384626d   zhouhaihai   好友
50
  	redisproxy:del(FRIEND_POINT:format(self.owner:getProperty("id")))
cccc9c70   zhouhaihai   商城
51
  	local dataMap = {}
a43410e1   zhengshouren   整理格式,使用tab替代空格
52
  	for field, schema in pairs(self.schema) do
0e3ab88d   zhouhaihai   中继层
53
  		if field == "advC" or field == "advElC" then
6f3959ce   zhouhaihai   bug
54
  			if self:getProperty(field) > 0 then
0e3ab88d   zhouhaihai   中继层
55
56
57
  				dataMap[field] = 0
  			end
  		elseif field ~= "key" then
a43410e1   zhengshouren   整理格式,使用tab替代空格
58
  			local typ, def = table.unpack(schema)
cccc9c70   zhouhaihai   商城
59
60
61
62
63
64
65
66
67
  			dataMap[field] = def
  		end
  	end
  	-- 每日折扣搞一下
  	local dailySDD = {}
  	local sddPool = {}
  	for id, data in pairs(csvdb["shop_diamondCsv"]) do
  		if data.type == 0 and data.disount ~= 0 then
  			table.insert(sddPool, id)
a43410e1   zhengshouren   整理格式,使用tab替代空格
68
69
  		end
  	end
cccc9c70   zhouhaihai   商城
70
71
72
73
74
75
76
  	for i = 1, math.min(#sddPool, globalCsv.shop_diamond_disount_count) do
  		local idx = math.randomInt(1, #sddPool)
  		dailySDD[sddPool[idx]] = 1
  		table.remove(sddPool, idx)
  	end
  	dataMap["dailySDD"] = dailySDD
  	self:setProperties(dataMap)
a43410e1   zhengshouren   整理格式,使用tab替代空格
77
78
79
  	if notify then
  		self.owner:notifyUpdateProperties(self:data())
  	end
be9c9ca6   zhouahaihai   角色评论
80
81
82
  end
  
  function Daily:data()
a43410e1   zhengshouren   整理格式,使用tab替代空格
83
  	return {
a43410e1   zhengshouren   整理格式,使用tab替代空格
84
  		hangQC = self:getProperty("hangQC"),
87cc3a35   zhengshouren   餐厅建筑升级逻辑
85
  		dinerQC = self:getProperty("dinerQC"),
09be9059   zhouhaihai   冒险接口
86
87
  		advC = self:getProperty("advC"),
  		advBC = self:getProperty("advBC"),
e38b9c49   zhouhaihai   无尽次数
88
89
  		advElC = self:getProperty("advElC"),
  		advElBC = self:getProperty("advElBC"),
bab30666   zhouhaihai   增加通用功能等级 字段
90
  		advWs = self:getProperty("advWs"),
f60b89b1   zhouhaihai   奖励副本
91
  		bonusC = self:getProperty("bonusC"),
c384626d   zhouhaihai   好友
92
93
  		giveFP = self:getProperty("giveFP"),
  		getFP = self:getProperty("getFP"),
4cf74232   zhouhaihai   pvp
94
  		pvpFree = self:getProperty("pvpFree"),
cccc9c70   zhouhaihai   商城
95
96
  		dailySDC = self:getProperty("dailySDC"),
  		dailySDD = self:getProperty("dailySDD"),
9ced5432   zhouhaihai   冒险支援效果 保底事件
97
  		advSupRe = self:getProperty("advSupRe"),
a43410e1   zhengshouren   整理格式,使用tab替代空格
98
  	}
be9c9ca6   zhouahaihai   角色评论
99
100
101
  end
  
  return Daily