0ptr/nullptr/models/waypoint.py

33 lines
850 B
Python
Raw Normal View History

2023-07-10 18:12:29 +00:00
from .base import Base, Reference
from nullptr.models.system import System
from nullptr.util import *
2023-07-10 17:25:01 +00:00
class Waypoint(Base):
def define(self):
self.x:int = 0
self.y:int = 0
self.type:str = 'unknown'
self.traits:list = []
self.faction:str = ''
2023-07-10 19:10:49 +00:00
self.set_system()
2023-07-10 18:12:29 +00:00
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')
2023-07-10 19:10:49 +00:00
def set_system(self):
parts = self.symbol.split('-')
system_str = f'{parts[0]}-{parts[1]}'
self.system = self.store.get(System, system_str, create=True)
@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()}'