Files
BSG/src/ships/Resources.lua
Paul Liverman b4fa1a6d84 woo stuff fancy
2015-05-07 01:49:00 -07:00

70 lines
1.7 KiB
Lua

local class = require "lib.middleclass"
local Resources = class('Resources')
function Resources:initialize()
self.ammo = 0
self.fuel = 0
self.supplies = 0
self.water = 0
self.food = 0
self.metal = 0
self.ore = 0
self.crew = 0
self.missiles = 0
self.nukes = 0
self.maxAmmo = 0
self.maxFuel = 0
self.maxSupplies = 0
self.maxWater = 0
self.maxFood = 0
self.maxMetal = 0
self.maxOre = 0
self.maxCrew = 0
self.ammoUse = 0
self.fuelUseIdle = 0
self.fuelUseMoving = 0
self.fuelUseJump = 0
self.suppliesUse = 0
self.waterUse = 0
self.foodUse = 0
self.metalUse = 0
self.oreUse = 0
self.crewUse = 0
end
function Resources:update(dt, engineStatus)
self.ammo = self.ammo - self.ammoUse * dt
if engineStatus == "idle" then
self.fuel = self.fuel - self.fuelUseIdle * dt
elseif engineStatus == "moving" then
self.fuel = self.fuel - self.fuelUseMoving * dt
else
error("Invalid engineStatus!")
end
self.supplies = self.supplies - self.suppliesUse * dt
self.water = self.water - self.waterUse * dt
self.food = self.food - self.foodUse * dt
self.metal = self.metal - self.metalUse * dt
self.ore = self.ore - self.oreUse * dt
self.crew = self.crew - self.crewUse * dt
--TODO check if running out of anything, and do whatever is appropriate
end
function Resources:maxEverything()
self.ammo = self.maxAmmo
self.fuel = self.maxFuel
self.supplies = self.maxSupplies
self.water = self.maxWater
self.food = self.maxFood
self.metal = self.maxMetal
self.ore = self.maxOre
self.crew = self.maxCrew
end
return Resources