expansion/src/game/deposit.cr

38 lines
605 B
Crystal

class Game::Deposit
@cap : Capacity = 0
@cur : Capacity = 0
def initialize(@type : Resource::Type, @cap : Capacity)
@cur = @cap
end
def initialize(@type : Resource::Type, @cap : Capacity, @cur : Capacity)
end
getter type
getter cap
getter cur
def inc(value : Capacity) : Capacity
if @cur + value <= @cap
@cur += value
value
else
res = @cap - @cur
@cur = @cap
res
end
end
def dec(value : Capacity) : Capacity
if @cur >= value
@cur -= value
value
else
res = @cur
@cur = 0
res
end
end
end