26 lines
799 B
Python
26 lines
799 B
Python
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 {
|
|
**self.travel_steps('to', 'site', 'load'),
|
|
'load': (self.step_load, 'travel-back'),
|
|
**self.travel_steps('back', 'dest', 'unload'),
|
|
'unload': (self.step_unload, 'travel-to'),
|
|
}
|