67 lines
1.7 KiB
Lua
67 lines
1.7 KiB
Lua
local ServerBagData = class("ServerBagData", ServerBaseData)
|
|
|
|
function ServerBagData:ctor()
|
|
self.ItemData = require("app/server/data/server_item_data"):create()
|
|
end
|
|
|
|
function ServerBagData:loadLocalData()
|
|
self.ItemData:loadLocalData()
|
|
end
|
|
|
|
function ServerBagData:clear()
|
|
self.ItemData:clear()
|
|
end
|
|
|
|
function ServerBagData:getItemData()
|
|
return self.ItemData:getAllItems()
|
|
end
|
|
|
|
function ServerBagData:tryAddItem(id, num)
|
|
return self.ItemData:tryAddItem(id, num)
|
|
end
|
|
|
|
function ServerBagData:tryAddItemReward(item)
|
|
local id = GFunc.getRewardId(item)
|
|
local num = GFunc.getRewardNum(item)
|
|
return self.ItemData:tryAddItem(id, num)
|
|
end
|
|
|
|
function ServerBagData:tryAddItemCost(cost)
|
|
local id = GFunc.getRewardId(cost)
|
|
local num = GFunc.getRewardNum(cost)
|
|
return self.ItemData:tryAddItem(id, -num)
|
|
end
|
|
|
|
function ServerBagData:addItemReward(item, getType)
|
|
local id = GFunc.getRewardId(item)
|
|
local num = GFunc.getRewardNum(item)
|
|
self:addItem(id, num, getType)
|
|
end
|
|
|
|
function ServerBagData:addItemCost(cost)
|
|
local id = GFunc.getRewardId(cost)
|
|
local num = GFunc.getRewardNum(cost)
|
|
self:addItem(id, -num)
|
|
end
|
|
|
|
function ServerBagData:addItem(id, num, getType)
|
|
if id == GConst.ItemConst.ITEM_ID_VIT then
|
|
local maxCount = self.ItemData:getMaxVit()
|
|
local currentCount = self.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_VIT)
|
|
local isMax = currentCount >= maxCount
|
|
self.ItemData:addItem(id, num, getType)
|
|
local currentCount = currentCount + num
|
|
local isMax1 = currentCount >= maxCount
|
|
if not isMax1 then
|
|
if isMax then
|
|
self.ItemData:resetVitRecoverTime()
|
|
else
|
|
self.ItemData:recoveryItems()
|
|
end
|
|
end
|
|
else
|
|
self.ItemData:addItem(id, num, getType)
|
|
end
|
|
end
|
|
|
|
return ServerBagData |