From 6e67da16720a84b6ce73bb263eb5262b86425708 Mon Sep 17 00:00:00 2001 From: FlightControl Date: Sat, 22 Sep 2018 09:45:57 +0200 Subject: [PATCH] Dispatcher documentation. --- .../Moose/AI/AI_Cargo_Dispatcher.lua | 54 +++++-------------- .../Moose/AI/AI_Cargo_Dispatcher_APC.lua | 15 +++--- .../Moose/AI/AI_Cargo_Dispatcher_Airplane.lua | 25 +++++---- .../AI/AI_Cargo_Dispatcher_Helicopter.lua | 16 +++--- 4 files changed, 49 insertions(+), 61 deletions(-) diff --git a/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua b/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua index 8d25c5775..6adddce8d 100644 --- a/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua +++ b/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua @@ -568,7 +568,7 @@ AI_CARGO_DISPATCHER.PickupCargo = {} -- local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart() -- -- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) --- AICargoDispatcherHelicopter:SetHomeZone( ZONE:FindByName( "Home" ) ) +-- AICargoDispatcherHelicopter:Start() -- -- @usage -- @@ -597,7 +597,7 @@ AI_CARGO_DISPATCHER.PickupCargo = {} -- DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Vaziani ) ) -- -- AICargoDispatcherAirplanes = AI_CARGO_DISPATCHER_AIRPLANE:New( AirplanesSet, CargoInfantrySet, PickupZoneSet, DeployZoneSet ) --- AICargoDispatcherAirplanes:SetHomeZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Kobuleti ) ) +-- AICargoDispatcherAirplanes:Start() -- function AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo ) @@ -648,32 +648,6 @@ function AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo ) end ---- Creates a new AI_CARGO_DISPATCHER object. --- @param #AI_CARGO_DISPATCHER self --- @param Core.Set#SET_GROUP SetCarrier --- @param Core.Set#SET_CARGO SetCargo --- @param Core.Set#SET_ZONE PickupZoneSet --- @param Core.Set#SET_ZONE DeployZoneSet --- @return #AI_CARGO_DISPATCHER --- @usage --- --- -- Create a new cargo dispatcher --- SetCarriers = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart() --- SetCargos = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() --- DeployZoneSet = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart() --- AICargoDispatcher = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo, SetDeployZone ) --- -function AI_CARGO_DISPATCHER:NewWithZones( SetCarrier, SetCargo, PickupZoneSet, DeployZoneSet ) - - local self = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo ) -- #AI_CARGO_DISPATCHER - - self.PickupZoneSet = PickupZoneSet - self.DeployZoneSet = DeployZoneSet - - return self -end - - --- Set the monitor time interval. -- @param #AI_CARGO_DISPATCHER self -- @param #number MonitorTimeInterval @@ -695,11 +669,11 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcher = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the home coordinate -- local HomeZone = ZONE:New( "Home" ) --- AICargoDispatcher:SetHomeZone( HomeZone ) +-- AICargoDispatcherHelicopter:SetHomeZone( HomeZone ) -- function AI_CARGO_DISPATCHER:SetHomeZone( HomeZone ) @@ -728,10 +702,10 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcher = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the carrier to land within a band around the cargo coordinate between 500 and 300 meters! --- AICargoDispatcher:SetPickupRadius( 500, 300 ) +-- AICargoDispatcherHelicopter:SetPickupRadius( 500, 300 ) -- function AI_CARGO_DISPATCHER:SetPickupRadius( OuterRadius, InnerRadius ) @@ -753,10 +727,10 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcher = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the minimum pickup speed to be 100 km/h and the maximum speed to be 200 km/h. --- AICargoDispatcher:SetPickupSpeed( 200, 100 ) +-- AICargoDispatcherHelicopter:SetPickupSpeed( 200, 100 ) -- function AI_CARGO_DISPATCHER:SetPickupSpeed( MaxSpeed, MinSpeed ) @@ -786,10 +760,10 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcher = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the carrier to land within a band around the cargo coordinate between 500 and 300 meters! --- AICargoDispatcher:SetDeployRadius( 500, 300 ) +-- AICargoDispatcherHelicopter:SetDeployRadius( 500, 300 ) -- function AI_CARGO_DISPATCHER:SetDeployRadius( OuterRadius, InnerRadius ) @@ -811,10 +785,10 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcher = AI_CARGO_DISPATCHER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the minimum deploy speed to be 100 km/h and the maximum speed to be 200 km/h. --- AICargoDispatcher:SetDeploySpeed( 200, 100 ) +-- AICargoDispatcherHelicopter:SetDeploySpeed( 200, 100 ) -- function AI_CARGO_DISPATCHER:SetDeploySpeed( MaxSpeed, MinSpeed ) @@ -836,7 +810,7 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the minimum pickup fly height to be 50 meters and the maximum height to be 200 meters. -- AICargoDispatcherHelicopter:SetPickupHeight( 200, 50 ) @@ -861,7 +835,7 @@ end -- @usage -- -- -- Create a new cargo dispatcher --- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetCarrier, SetCargo, SetDeployZone ) +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) -- -- -- Set the minimum deploy fly height to be 50 meters and the maximum height to be 200 meters. -- AICargoDispatcherHelicopter:SetDeployHeight( 200, 50 ) diff --git a/Moose Development/Moose/AI/AI_Cargo_Dispatcher_APC.lua b/Moose Development/Moose/AI/AI_Cargo_Dispatcher_APC.lua index 726239fa9..a4e9854ce 100644 --- a/Moose Development/Moose/AI/AI_Cargo_Dispatcher_APC.lua +++ b/Moose Development/Moose/AI/AI_Cargo_Dispatcher_APC.lua @@ -146,15 +146,18 @@ AI_CARGO_DISPATCHER_APC = { -- @return #AI_CARGO_DISPATCHER_APC -- @usage -- --- -- Create a new cargo dispatcher for the set of APCs, with a combatradius of 500. --- APCSet = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart() --- CargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() --- DeployZoneSet = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart() --- AICargoDispatcher = AI_CARGO_DISPATCHER_APC:New( APCSet, CargoSet, nil, DeployZoneSet, 500 ) +-- -- An AI dispatcher object for a vehicle squadron, moving infantry from pickup zones to deploy zones. +-- +-- local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() +-- local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart() +-- local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart() +-- +-- AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones ) +-- AICargoDispatcherAPC:Start() -- function AI_CARGO_DISPATCHER_APC:New( APCSet, CargoSet, PickupZoneSet, DeployZoneSet, CombatRadius ) - local self = BASE:Inherit( self, AI_CARGO_DISPATCHER:NewWithZones( APCSet, CargoSet, PickupZoneSet, DeployZoneSet ) ) -- #AI_CARGO_DISPATCHER_APC + local self = BASE:Inherit( self, AI_CARGO_DISPATCHER:New( APCSet, CargoSet, PickupZoneSet, DeployZoneSet ) ) -- #AI_CARGO_DISPATCHER_APC self:SetDeploySpeed( 120, 70 ) self:SetPickupSpeed( 120, 70 ) diff --git a/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Airplane.lua b/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Airplane.lua index 65a1371b9..bfcd74b15 100644 --- a/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Airplane.lua +++ b/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Airplane.lua @@ -115,18 +115,25 @@ AI_CARGO_DISPATCHER_AIRPLANE = { -- @return #AI_CARGO_DISPATCHER_AIRPLANE self -- @usage -- --- -- Create a new cargo dispatcher --- AirplaneSet = SET_GROUP:New():FilterPrefixes( "Airplane" ):FilterStart() --- CargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() --- PickupZoneSet = SET_AIRBASE:New() --- DeployZoneSet = SET_AIRBASE:New() --- PickupZoneSet:AddZone( ZONE_AIRBASE:New( "Gudauta", AIRBASE:FindByName( AIRBASE.Caucasus.Gudauta ), 3000 ) ) --- DeployZoneSet:AddZone( ZONE_AIRBASE:New( "Sochi", AIRBASE:FindByName( AIRBASE.Caucasus.Sochi_Adler ), 3000 ) ) --- AICargoDispatcher = AI_CARGO_DISPATCHER_AIRPLANE:New( AirplaneSet, CargoSet, PickupZoneSet, DeployZoneSet ) +-- -- An AI dispatcher object for an airplane squadron, moving infantry and vehicles from pickup airbases to deploy airbases. +-- +-- local CargoInfantrySet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() +-- local AirplanesSet = SET_GROUP:New():FilterPrefixes( "Airplane" ):FilterStart() +-- local PickupZoneSet = SET_ZONE:New() +-- local DeployZoneSet = SET_ZONE:New() +-- +-- PickupZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Gudauta ) ) +-- DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Sochi_Adler ) ) +-- DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Maykop_Khanskaya ) ) +-- DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Mineralnye_Vody ) ) +-- DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Vaziani ) ) +-- +-- AICargoDispatcherAirplanes = AI_CARGO_DISPATCHER_AIRPLANE:New( AirplanesSet, CargoInfantrySet, PickupZoneSet, DeployZoneSet ) +-- AICargoDispatcherAirplanes:Start() -- function AI_CARGO_DISPATCHER_AIRPLANE:New( AirplaneSet, CargoSet, PickupZoneSet, DeployZoneSet ) - local self = BASE:Inherit( self, AI_CARGO_DISPATCHER:NewWithZones( AirplaneSet, CargoSet, PickupZoneSet, DeployZoneSet ) ) -- #AI_CARGO_DISPATCHER_AIRPLANE + local self = BASE:Inherit( self, AI_CARGO_DISPATCHER:New( AirplaneSet, CargoSet, PickupZoneSet, DeployZoneSet ) ) -- #AI_CARGO_DISPATCHER_AIRPLANE self:SetPickupSpeed( 1200, 600 ) self:SetDeploySpeed( 1200, 600 ) diff --git a/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Helicopter.lua b/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Helicopter.lua index dc92a74a3..1f546d37f 100644 --- a/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Helicopter.lua +++ b/Moose Development/Moose/AI/AI_Cargo_Dispatcher_Helicopter.lua @@ -148,15 +148,19 @@ AI_CARGO_DISPATCHER_HELICOPTER = { -- @return #AI_CARGO_DISPATCHER_HELICOPTER -- @usage -- --- -- Create a new cargo dispatcher --- HelicopterSet = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart() --- CargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() --- DeployZoneSet = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart() --- AICargoDispatcher = AI_CARGO_DISPATCHER_HELICOPTER:New( HelicopterSet, SetCargo, nil, DeployZoneSet ) +-- -- An AI dispatcher object for a helicopter squadron, moving infantry from pickup zones to deploy zones. +-- +-- local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart() +-- local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart() +-- local SetPickupZones = SET_ZONE:New():FilterPrefixes( "Pickup" ):FilterStart() +-- local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart() +-- +-- AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones ) +-- AICargoDispatcherHelicopter:Start() -- function AI_CARGO_DISPATCHER_HELICOPTER:New( HelicopterSet, CargoSet, PickupZoneSet, DeployZoneSet ) - local self = BASE:Inherit( self, AI_CARGO_DISPATCHER:NewWithZones( HelicopterSet, CargoSet, PickupZoneSet, DeployZoneSet ) ) -- #AI_CARGO_DISPATCHER_HELICOPTER + local self = BASE:Inherit( self, AI_CARGO_DISPATCHER:New( HelicopterSet, CargoSet, PickupZoneSet, DeployZoneSet ) ) -- #AI_CARGO_DISPATCHER_HELICOPTER self:SetPickupSpeed( 350, 150 ) self:SetDeploySpeed( 350, 150 )