chore: refactor a bit items

This commit is contained in:
Kazhnuz 2020-09-13 10:03:43 +02:00
parent b2c9c1d79a
commit a8ae9ca5ba
3 changed files with 46 additions and 47 deletions

View file

@ -1,5 +1,5 @@
local LootManager = Object:extend() local LootManager = Object:extend()
local Pocket = Object:extend() local Pocket = require "game.loot.pocket"
local itemutils = require "game.utils.items" local itemutils = require "game.utils.items"
@ -58,50 +58,4 @@ function LootManager:getItemNumber(type, item)
return pocket:getItemNumber(item) return pocket:getItemNumber(item)
end end
-- POCKET OBJECT
function Pocket:new(pocketdata)
self.name = pocketdata.name
self.fullname = pocketdata.fullname
self.inBattle = pocketdata.inBattle
self.description = pocketdata.description
self.list = {}
end
function Pocket:addItem(item, number)
local success = false
for i,itemData in ipairs(self.list) do
if (itemData.name == item) then
itemData.number = itemData.number + number
success = true
end
end
if (not success) then
itemData = {}
itemData.name = item
itemData.number = number
table.insert(self.list, itemData)
end
end
function Pocket:getItem(name)
for i, itemData in ipairs(self.list) do
if (itemData.name == name) then
return itemData
end
end
return nil
end
function Pocket:getItemNumber(name)
local item = self:getItem(name)
if (item == nil) then
return 0
else
return item.number
end
end
return LootManager return LootManager

View file

@ -0,0 +1,45 @@
local Pocket = Object:extend()
function Pocket:new(pocketdata)
self.name = pocketdata.name
self.fullname = pocketdata.fullname
self.inBattle = pocketdata.inBattle
self.description = pocketdata.description
self.list = {}
end
function Pocket:addItem(item, number)
local success = false
for i,itemData in ipairs(self.list) do
if (itemData.name == item) then
itemData.number = itemData.number + number
success = true
end
end
if (not success) then
itemData = {}
itemData.name = item
itemData.number = number
table.insert(self.list, itemData)
end
end
function Pocket:getItem(name)
for i, itemData in ipairs(self.list) do
if (itemData.name == name) then
return itemData
end
end
return nil
end
function Pocket:getItemNumber(name)
local item = self:getItem(name)
if (item == nil) then
return 0
else
return item.number
end
end