34 lines
870 B
Python
34 lines
870 B
Python
from .base import Base, Reference
|
|
from nullptr.models.system import System
|
|
from nullptr.util import *
|
|
|
|
class Waypoint(Base):
|
|
def define(self):
|
|
self.x:int = 0
|
|
self.y:int = 0
|
|
self.type:str = 'unknown'
|
|
self.traits:list = []
|
|
self.faction:str = ''
|
|
self.set_system()
|
|
|
|
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')
|
|
|
|
def set_system(self):
|
|
parts = self.symbol.split('-')
|
|
system_str = f'{parts[0]}-{parts[1]}'
|
|
system = self.store.get(System, system_str, create=True)
|
|
self.system = system
|
|
|
|
@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()}'
|