god / src /god_sim /domain /resources.py
Vikram Vasudevan
First version of the code
e328272
Raw
History Blame Contribute Delete
442 Bytes
from __future__ import annotations
from dataclasses import dataclass
@dataclass(slots=True)
class ResourcePool:
capacity: float
amount: float
replenish_rate: float
def replenish(self) -> None:
self.amount = min(self.capacity, self.amount + self.replenish_rate)
def take(self, requested: float) -> float:
taken = min(self.amount, max(0.0, requested))
self.amount -= taken
return taken