private void PrepareMission(ConfigurableFlightSpecs flightSpecsConfiguration) { missionExecution = new MissionExecution(cameraDefinition, surveyArea, georeferencing, flightSpecsConfiguration.BuildMission(surveyArea, cameraDefinition), transform, flightSpecsConfiguration.speed, Path.Combine(folderPath, GetFolderNameForMission(flightSpecsConfiguration))); }
private int currentWaypointInMission; // Starts with 1 void Start() { // Assert an object was selected if (surveyAreaConfiguration.objectOfInterest == null) { throw new System.Exception("You must set an object of interest!"); } // Build necessary entities CameraDefinition cameraDefinition = cameraDefinitionConfiguration.BuildDomain(); SurveyArea surveyArea = surveyAreaConfiguration.BuildDomain(); Georeferencing georeferencing = georeferencingConfiguration.BuildDomain(surveyArea); // Set the camera Camera camera = GetComponent <Camera>(); camera.usePhysicalProperties = true; camera.focalLength = cameraDefinition.focalLength; camera.sensorSize = new Vector2(cameraDefinition.sensorSizeX, cameraDefinition.sensorSizeY); Mission mission = flightSpecsConfiguration.BuildMission(surveyArea, cameraDefinition); // Prepare the execution missionExecution = new MissionExecution(cameraDefinition, surveyArea, georeferencing, mission, transform, flightSpecsConfiguration.speed, folderPath); missionDebugger = new MissionDebugger(cameraDefinition, surveyArea, mission, transform); // Add event listeners MissionExecution.OnWaypointReached += ReachedWaypoint; MissionExecution.OnMissionFinished += Quit; }