Files
econ_emt/econ/agents/autoproduction.py
2023-01-23 11:28:12 +01:00

30 lines
819 B
Python

from .base_agent import BaseAgent
class AutoProductionAgent(BaseAgent):
"""
Automaticaly produces commodity if in business inventory
"""
def __init__(self,sim,business) -> None:
super().__init__(sim)
self.business=business
self.prod=business.production
def can_produce(self):
# If can produce item
for k,cost in self.prod["craft"].items():
if cost > self.business.inventory[k]:
return False
return True
def tick(self):
if not self.can_produce():
return
# remove cost from inventory
for k,cost in self.prod["craft"].items():
self.business.inventory[k]-=cost
# add commodity
self.business.inventory[self.prod['name']]+=self.prod["amount"]