0ptr/nullptr/missions/haul.py

28 lines
896 B
Python
Raw Normal View History

from nullptr.missions.base import BaseMission, MissionParam
from nullptr.models.waypoint import Waypoint
from nullptr.models.survey import Survey
from nullptr.models.contract import Contract
class HaulMission(BaseMission):
def start_state(self):
return 'travel-to'
@classmethod
def params(cls):
return {
'site': MissionParam(Waypoint, True),
'resource': MissionParam(str, True),
'dest': MissionParam(Waypoint, True),
'delivery': MissionParam(str, True, 'deliver'),
'contract': MissionParam(Contract, False)
}
def steps(self):
return {
2024-01-04 20:34:31 +00:00
**self.travel_steps('to', 'site', 'market'),
'market': (self.step_market, 'load'),
'load': (self.step_load, 'travel-back'),
2023-06-26 12:55:25 +00:00
**self.travel_steps('back', 'dest', 'unload'),
2024-01-04 20:34:31 +00:00
'unload': (self.step_unload, 'market-dest'),
'market-dest': (self.step_market, 'done'),
}