36 lines
857 B
Lua
36 lines
857 B
Lua
---@class ResourceClass
|
|
---@field Credits number The current credits.
|
|
---@field LastCredits number The credits on the last frame.
|
|
---@field Income integer The current income.
|
|
ResourceClass = {}
|
|
ResourceClass.__index = ResourceClass
|
|
|
|
---Constructs a new Resource object.
|
|
function ResourceClass:New()
|
|
local self = setmetatable({}, ResourceClass)
|
|
|
|
self.Credits = 0
|
|
self.LastCredits = 0
|
|
self.Income = 0
|
|
|
|
return self
|
|
end
|
|
|
|
---Sets the current credits and updates income.
|
|
---@param credits number
|
|
function ResourceClass:SetCredits(credits)
|
|
self.LastCredits = self.Credits
|
|
|
|
if credits < 0 then
|
|
self.Credits = 0
|
|
else
|
|
self.Credits = credits
|
|
end
|
|
|
|
self.Income = self.Credits - self.LastCredits
|
|
end
|
|
|
|
function ResourceClass:Debug()
|
|
return string.format("Credits: %d, Income: %d", self.Credits, self.Income)
|
|
end
|