From 958e19537c6d58900dfa51790b2564e9075aa054 Mon Sep 17 00:00:00 2001 From: FlightControl Date: Sun, 3 Apr 2016 11:21:13 +0200 Subject: [PATCH] Fixed target scanning. There is still an small bug outstanding. Need to clear the task queue. --- Moose/Escort.lua | 33 ++++++++------------------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/Moose/Escort.lua b/Moose/Escort.lua index acd7ef4d1..9e4881253 100644 --- a/Moose/Escort.lua +++ b/Moose/Escort.lua @@ -89,8 +89,8 @@ function ESCORT:New( EscortClient, EscortGroup, EscortName, EscortBriefing ) if EscortGroup:IsHelicopter() then -- Scanning Targets self.EscortMenuScanForTargets = MENU_CLIENT:New( self.EscortClient, "Scan targets", self.EscortMenu ) - self.EscortMenuReportNearbyTargetsOn = MENU_CLIENT_COMMAND:New( self.EscortClient, "Scan targets 30 seconds", self.EscortMenuScanForTargets, ESCORT._ScanTargets30Seconds, { ParamSelf = self, ParamScanDuration = 30 } ) - self.EscortMenuReportNearbyTargetsOn = MENU_CLIENT_COMMAND:New( self.EscortClient, "Scan targets 60 seconds", self.EscortMenuScanForTargets, ESCORT._ScanTargets60Seconds, { ParamSelf = self, ParamScanDuration = 60 } ) + self.EscortMenuReportNearbyTargetsOn = MENU_CLIENT_COMMAND:New( self.EscortClient, "Scan targets 30 seconds", self.EscortMenuScanForTargets, ESCORT._ScanTargets, { ParamSelf = self, ParamScanDuration = 30 } ) + self.EscortMenuReportNearbyTargetsOn = MENU_CLIENT_COMMAND:New( self.EscortClient, "Scan targets 60 seconds", self.EscortMenuScanForTargets, ESCORT._ScanTargets, { ParamSelf = self, ParamScanDuration = 60 } ) end -- Attack Targets @@ -283,41 +283,24 @@ function ESCORT._SwitchReportNearbyTargets( MenuParam ) end --- @param #MENUPARAM MenuParam -function ESCORT._ScanTargets30Seconds( MenuParam ) - MenuParam.ParamSelf:T() +function ESCORT._ScanTargets( MenuParam ) local self = MenuParam.ParamSelf local EscortGroup = self.EscortGroup local EscortClient = self.EscortClient + + local ScanDuration = MenuParam.ParamScanDuration routines.removeFunction( self.FollowScheduler ) + self.FollowScheduler = nil EscortGroup:PushTask( EscortGroup:TaskControlled( EscortGroup:TaskOrbitCircle( 200, 20 ), - EscortGroup:TaskCondition( nil, nil, nil, nil, 30, nil ) + EscortGroup:TaskCondition( nil, nil, nil, nil, ScanDuration, nil ) ) ) - EscortGroup:MessageToClient( "Scanning targets for 30 seconds.", 10, EscortClient ) -end - ---- @param #MENUPARAM MenuParam -function ESCORT._ScanTargets60Seconds( MenuParam ) - MenuParam.ParamSelf:T() - - local self = MenuParam.ParamSelf - local EscortGroup = self.EscortGroup - local EscortClient = self.EscortClient - - routines.removeFunction( self.FollowScheduler ) - - EscortGroup:PushTask( - EscortGroup:TaskControlled( - EscortGroup:TaskOrbitCircle( 200, 20 ), - EscortGroup:TaskCondition( nil, nil, nil, nil, 60, nil ) - ) - ) - EscortGroup:MessageToClient( "Scanning targets for 60 seconds.", 10, EscortClient ) + EscortGroup:MessageToClient( "Scanning targets for " .. ScanDuration .. " seconds.", ScanDuration, EscortClient ) end --- @param #MENUPARAM MenuParam