from .system_member import SystemMember from nullptr.util import * from dataclasses import field class Waypoint(SystemMember): x:int = 0 y:int = 0 type:str = 'unknown' traits:list = field(default_factory=list) faction:str = '' def update(self, d): self.seta('x', d) self.seta('y', d) self.seta('type', d) self.seta('faction', d, 'faction.symbol') self.setlst('traits', d, 'traits', 'symbol') @classmethod def ext(self): return 'way' def path(self): sector, system, _ = self.symbol.split('-') return f'atlas/{sector}/{system[0:1]}/{system}/{self.symbol}.{self.ext()}'