Patrol demo is done. It works perfectly and provides a fantastic system now!

This commit is contained in:
FlightControl 2016-12-07 17:15:21 +01:00
parent f840b6f836
commit a610b8b425
3 changed files with 17 additions and 1 deletions

View File

@ -97,6 +97,7 @@ function AIBALANCER:New( SetClient, SpawnAI )
self:AddTransition( "*", "Start", "Monitoring" )
self:AddTransition( "*", "Monitor", "Monitoring" )
self:AddTransition( "*", "Spawn", "Spawning" )
self:AddTransition( "Spawning", "Spawned", "Spawned" )
self:AddTransition( "*", "Destroy", "Destroying" )
self:AddTransition( "*", "Return", "Returning" )
self:AddTransition( "*", "End", "End" )
@ -146,6 +147,10 @@ function AIBALANCER:onenterSpawning( SetGroup, Event, From, To, ClientName )
--TODO: need to rework UnitName thing ...
SetGroup:Add( ClientName, AIGroup )
-- Fire the Spawned event. The first parameter is the AIGroup just Spawned.
-- Mission designers can catch this event to bind further actions to the AIGroup.
self:Spawned( AIGroup )
end
--- @param #AIBALANCER self

View File

@ -35,4 +35,15 @@ local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AIBALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
local RU_AIBalancer = AIBALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
function RU_AIBalancer:OnAfterSpawn()
function RU_AIBalancer:OnAfterSpawned( SetGroup, Event, From, To, AIGroup )
local PatrolZoneGroup = GROUP:FindByName( "PatrolZone" )
local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
local Patrol = PATROLZONE:New( PatrolZone, 3000, 6000, 400, 600 )
Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup )
Patrol:__Start( 5 )
end