Fetching systems
This commit is contained in:
@@ -5,7 +5,7 @@ class Agent(Base):
|
||||
credits: int = 0
|
||||
|
||||
def update(self, d):
|
||||
self.seta(d, 'credits')
|
||||
self.seta('credits', d)
|
||||
|
||||
def path(self):
|
||||
return f'{self.symbol}.{self.ext()}'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from copy import deepcopy
|
||||
from dataclasses import dataclass
|
||||
|
||||
from util import sg
|
||||
@dataclass
|
||||
class Base:
|
||||
symbol: str
|
||||
@@ -11,9 +11,12 @@ class Base:
|
||||
self.store = store
|
||||
self.dirty = True
|
||||
|
||||
def seta(self, d, name):
|
||||
if name in d:
|
||||
setattr(self, name, d[name])
|
||||
def seta(self, attr, d, name=None):
|
||||
if name is None:
|
||||
name = attr
|
||||
val = sg(d, name)
|
||||
if val is not None:
|
||||
setattr(self, attr, val)
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
if name != 'dirty':
|
||||
|
||||
@@ -3,6 +3,15 @@ from .base import Base
|
||||
|
||||
|
||||
class System(Base):
|
||||
x:int = 0
|
||||
y:int = 0
|
||||
type:str = 'unknown'
|
||||
|
||||
def update(self, d):
|
||||
self.seta('x', d)
|
||||
self.seta('y', d)
|
||||
self.seta('type', d)
|
||||
|
||||
@classmethod
|
||||
def ext(self):
|
||||
return 'stm'
|
||||
|
||||
Reference in New Issue
Block a user