0ptr/nullptr/models/jumpgate.py

28 lines
680 B
Python
Raw Permalink Normal View History

2023-07-10 17:25:01 +00:00
from .base import Base
2023-07-12 20:26:25 +00:00
from .system import System
from dataclasses import field
2023-07-10 17:25:01 +00:00
class Jumpgate(Base):
def define(self):
self.range: int = 0
self.faction: str = ''
self.systems: list = []
2023-07-12 20:26:25 +00:00
self.system = self.get_system()
def update(self, d):
2023-07-12 20:26:25 +00:00
getter = self.store.getter(System, create=True)
self.setlst('systems', d, 'connectedSystems', 'symbol', interp=getter)
self.seta('faction', d, 'factionSymbol')
self.seta('range', d, 'jumpRange')
@classmethod
def ext(self):
return 'jmp'
def f(self, detail=1):
r = self.symbol
if detail > 1:
r += '\n'
2023-07-12 20:26:25 +00:00
r += '\n'.join([s.symbol for s in self.systems])
return r