Initial commit
This commit is contained in:
36
Data/Scripts/Miscellaneous/GameManager/ResourceClass.lua
Normal file
36
Data/Scripts/Miscellaneous/GameManager/ResourceClass.lua
Normal file
@@ -0,0 +1,36 @@
|
||||
---@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
|
||||
self.Credits = 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
|
||||
Reference in New Issue
Block a user