mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Progress
This commit is contained in:
parent
46aa9ddf65
commit
24a6d37500
@ -87,16 +87,13 @@ function EVENT:Init( EventID, EventClass )
|
|||||||
self:F3( { _EVENTCODES[EventID], EventClass } )
|
self:F3( { _EVENTCODES[EventID], EventClass } )
|
||||||
|
|
||||||
if not self.Events[EventID] then
|
if not self.Events[EventID] then
|
||||||
self.Events[EventID] = {}
|
|
||||||
|
|
||||||
-- Create a WEAK table to ensure that the garbage collector is cleaning the event links when the object usage is cleaned.
|
-- Create a WEAK table to ensure that the garbage collector is cleaning the event links when the object usage is cleaned.
|
||||||
local Meta = {}
|
self.Events[EventID] = setmetatable( {}, { __mode = "k" } )
|
||||||
setmetatable( self.Events[EventID], Meta )
|
|
||||||
Meta.__mode = "k"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if not self.Events[EventID][EventClass] then
|
if not self.Events[EventID][EventClass] then
|
||||||
self.Events[EventID][EventClass] = {}
|
self.Events[EventID][EventClass] = setmetatable( {}, { __mode = "v" } )
|
||||||
end
|
end
|
||||||
return self.Events[EventID][EventClass]
|
return self.Events[EventID][EventClass]
|
||||||
end
|
end
|
||||||
|
|||||||
@ -62,7 +62,7 @@
|
|||||||
-- @field #number x The x coordinate in 3D space.
|
-- @field #number x The x coordinate in 3D space.
|
||||||
-- @field #number y The y coordinate in 3D space.
|
-- @field #number y The y coordinate in 3D space.
|
||||||
-- @field #number z The z coordiante in 3D space.
|
-- @field #number z The z coordiante in 3D space.
|
||||||
-- @field #POINT_VEC3.SmokeColor SmokeColor
|
-- @field Utilities.Utils#SMOKECOLOR SmokeColor
|
||||||
-- @field Utilities.Utils#FLARECOLOR FlareColor
|
-- @field Utilities.Utils#FLARECOLOR FlareColor
|
||||||
-- @field #POINT_VEC3.RoutePointAltType RoutePointAltType
|
-- @field #POINT_VEC3.RoutePointAltType RoutePointAltType
|
||||||
-- @field #POINT_VEC3.RoutePointType RoutePointType
|
-- @field #POINT_VEC3.RoutePointType RoutePointType
|
||||||
|
|||||||
@ -230,7 +230,7 @@ end
|
|||||||
|
|
||||||
--- Smokes the zone boundaries in a color.
|
--- Smokes the zone boundaries in a color.
|
||||||
-- @param #ZONE_BASE self
|
-- @param #ZONE_BASE self
|
||||||
-- @param SmokeColor The smoke color.
|
-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color.
|
||||||
function ZONE_BASE:SmokeZone( SmokeColor )
|
function ZONE_BASE:SmokeZone( SmokeColor )
|
||||||
self:F2( SmokeColor )
|
self:F2( SmokeColor )
|
||||||
|
|
||||||
@ -298,7 +298,7 @@ end
|
|||||||
|
|
||||||
--- Smokes the zone boundaries in a color.
|
--- Smokes the zone boundaries in a color.
|
||||||
-- @param #ZONE_RADIUS self
|
-- @param #ZONE_RADIUS self
|
||||||
-- @param #POINT_VEC3.SmokeColor SmokeColor The smoke color.
|
-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color.
|
||||||
-- @param #number Points (optional) The amount of points in the circle.
|
-- @param #number Points (optional) The amount of points in the circle.
|
||||||
-- @return #ZONE_RADIUS self
|
-- @return #ZONE_RADIUS self
|
||||||
function ZONE_RADIUS:SmokeZone( SmokeColor, Points )
|
function ZONE_RADIUS:SmokeZone( SmokeColor, Points )
|
||||||
@ -689,7 +689,7 @@ end
|
|||||||
|
|
||||||
--- Smokes the zone boundaries in a color.
|
--- Smokes the zone boundaries in a color.
|
||||||
-- @param #ZONE_POLYGON_BASE self
|
-- @param #ZONE_POLYGON_BASE self
|
||||||
-- @param #POINT_VEC3.SmokeColor SmokeColor The smoke color.
|
-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color.
|
||||||
-- @return #ZONE_POLYGON_BASE self
|
-- @return #ZONE_POLYGON_BASE self
|
||||||
function ZONE_POLYGON_BASE:SmokeZone( SmokeColor )
|
function ZONE_POLYGON_BASE:SmokeZone( SmokeColor )
|
||||||
self:F2( SmokeColor )
|
self:F2( SmokeColor )
|
||||||
|
|||||||
@ -3,3 +3,6 @@
|
|||||||
|
|
||||||
|
|
||||||
trigger = {} --#timer
|
trigger = {} --#timer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -492,6 +492,8 @@ do -- FSM_PROCESS
|
|||||||
|
|
||||||
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- Fsm.Fsm#FSM_PROCESS
|
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- Fsm.Fsm#FSM_PROCESS
|
||||||
|
|
||||||
|
self:F( Controllable, Task )
|
||||||
|
|
||||||
self:Assign( Controllable, Task )
|
self:Assign( Controllable, Task )
|
||||||
|
|
||||||
return self
|
return self
|
||||||
@ -631,7 +633,7 @@ do -- FSM_PROCESS
|
|||||||
self:E( { ProcessUnit, Event, From, To, Dummy, self:IsTrace() } )
|
self:E( { ProcessUnit, Event, From, To, Dummy, self:IsTrace() } )
|
||||||
|
|
||||||
if self:IsTrace() then
|
if self:IsTrace() then
|
||||||
MESSAGE:New( "Process " .. self.ProcessName .. " : " .. Event .. " changed to state " .. To, 15 ):ToAll()
|
MESSAGE:New( "Process " .. self:GetClassNameAndID() .. " : " .. Event .. " changed to state " .. To, 15 ):ToAll()
|
||||||
end
|
end
|
||||||
|
|
||||||
self:E( self.Scores[To] )
|
self:E( self.Scores[To] )
|
||||||
|
|||||||
@ -85,18 +85,18 @@ function AIRBASEPOLICE_BASE:New( SetClient, Airbases )
|
|||||||
self.Airbases = Airbases
|
self.Airbases = Airbases
|
||||||
|
|
||||||
for AirbaseID, Airbase in pairs( self.Airbases ) do
|
for AirbaseID, Airbase in pairs( self.Airbases ) do
|
||||||
Airbase.ZoneBoundary = ZONE_POLYGON_BASE:New( "Boundary", Airbase.PointsBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
Airbase.ZoneBoundary = ZONE_POLYGON_BASE:New( "Boundary", Airbase.PointsBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
for PointsRunwayID, PointsRunway in pairs( Airbase.PointsRunways ) do
|
for PointsRunwayID, PointsRunway in pairs( Airbase.PointsRunways ) do
|
||||||
Airbase.ZoneRunways[PointsRunwayID] = ZONE_POLYGON_BASE:New( "Runway " .. PointsRunwayID, PointsRunway ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
Airbase.ZoneRunways[PointsRunwayID] = ZONE_POLYGON_BASE:New( "Runway " .. PointsRunwayID, PointsRunway ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- -- Template
|
-- -- Template
|
||||||
-- local TemplateBoundary = GROUP:FindByName( "Template Boundary" )
|
-- local TemplateBoundary = GROUP:FindByName( "Template Boundary" )
|
||||||
-- self.Airbases.Template.ZoneBoundary = ZONE_POLYGON:New( "Template Boundary", TemplateBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Template.ZoneBoundary = ZONE_POLYGON:New( "Template Boundary", TemplateBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local TemplateRunway1 = GROUP:FindByName( "Template Runway 1" )
|
-- local TemplateRunway1 = GROUP:FindByName( "Template Runway 1" )
|
||||||
-- self.Airbases.Template.ZoneRunways[1] = ZONE_POLYGON:New( "Template Runway 1", TemplateRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Template.ZoneRunways[1] = ZONE_POLYGON:New( "Template Runway 1", TemplateRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
|
|
||||||
self.SetClient:ForEachClient(
|
self.SetClient:ForEachClient(
|
||||||
--- @param Wrapper.Client#CLIENT Client
|
--- @param Wrapper.Client#CLIENT Client
|
||||||
@ -749,197 +749,197 @@ function AIRBASEPOLICE_CAUCASUS:New( SetClient )
|
|||||||
|
|
||||||
-- -- AnapaVityazevo
|
-- -- AnapaVityazevo
|
||||||
-- local AnapaVityazevoBoundary = GROUP:FindByName( "AnapaVityazevo Boundary" )
|
-- local AnapaVityazevoBoundary = GROUP:FindByName( "AnapaVityazevo Boundary" )
|
||||||
-- self.Airbases.AnapaVityazevo.ZoneBoundary = ZONE_POLYGON:New( "AnapaVityazevo Boundary", AnapaVityazevoBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.AnapaVityazevo.ZoneBoundary = ZONE_POLYGON:New( "AnapaVityazevo Boundary", AnapaVityazevoBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local AnapaVityazevoRunway1 = GROUP:FindByName( "AnapaVityazevo Runway 1" )
|
-- local AnapaVityazevoRunway1 = GROUP:FindByName( "AnapaVityazevo Runway 1" )
|
||||||
-- self.Airbases.AnapaVityazevo.ZoneRunways[1] = ZONE_POLYGON:New( "AnapaVityazevo Runway 1", AnapaVityazevoRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.AnapaVityazevo.ZoneRunways[1] = ZONE_POLYGON:New( "AnapaVityazevo Runway 1", AnapaVityazevoRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Batumi
|
-- -- Batumi
|
||||||
-- local BatumiBoundary = GROUP:FindByName( "Batumi Boundary" )
|
-- local BatumiBoundary = GROUP:FindByName( "Batumi Boundary" )
|
||||||
-- self.Airbases.Batumi.ZoneBoundary = ZONE_POLYGON:New( "Batumi Boundary", BatumiBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Batumi.ZoneBoundary = ZONE_POLYGON:New( "Batumi Boundary", BatumiBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local BatumiRunway1 = GROUP:FindByName( "Batumi Runway 1" )
|
-- local BatumiRunway1 = GROUP:FindByName( "Batumi Runway 1" )
|
||||||
-- self.Airbases.Batumi.ZoneRunways[1] = ZONE_POLYGON:New( "Batumi Runway 1", BatumiRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Batumi.ZoneRunways[1] = ZONE_POLYGON:New( "Batumi Runway 1", BatumiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Beslan
|
-- -- Beslan
|
||||||
-- local BeslanBoundary = GROUP:FindByName( "Beslan Boundary" )
|
-- local BeslanBoundary = GROUP:FindByName( "Beslan Boundary" )
|
||||||
-- self.Airbases.Beslan.ZoneBoundary = ZONE_POLYGON:New( "Beslan Boundary", BeslanBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Beslan.ZoneBoundary = ZONE_POLYGON:New( "Beslan Boundary", BeslanBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local BeslanRunway1 = GROUP:FindByName( "Beslan Runway 1" )
|
-- local BeslanRunway1 = GROUP:FindByName( "Beslan Runway 1" )
|
||||||
-- self.Airbases.Beslan.ZoneRunways[1] = ZONE_POLYGON:New( "Beslan Runway 1", BeslanRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Beslan.ZoneRunways[1] = ZONE_POLYGON:New( "Beslan Runway 1", BeslanRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Gelendzhik
|
-- -- Gelendzhik
|
||||||
-- local GelendzhikBoundary = GROUP:FindByName( "Gelendzhik Boundary" )
|
-- local GelendzhikBoundary = GROUP:FindByName( "Gelendzhik Boundary" )
|
||||||
-- self.Airbases.Gelendzhik.ZoneBoundary = ZONE_POLYGON:New( "Gelendzhik Boundary", GelendzhikBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Gelendzhik.ZoneBoundary = ZONE_POLYGON:New( "Gelendzhik Boundary", GelendzhikBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local GelendzhikRunway1 = GROUP:FindByName( "Gelendzhik Runway 1" )
|
-- local GelendzhikRunway1 = GROUP:FindByName( "Gelendzhik Runway 1" )
|
||||||
-- self.Airbases.Gelendzhik.ZoneRunways[1] = ZONE_POLYGON:New( "Gelendzhik Runway 1", GelendzhikRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Gelendzhik.ZoneRunways[1] = ZONE_POLYGON:New( "Gelendzhik Runway 1", GelendzhikRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Gudauta
|
-- -- Gudauta
|
||||||
-- local GudautaBoundary = GROUP:FindByName( "Gudauta Boundary" )
|
-- local GudautaBoundary = GROUP:FindByName( "Gudauta Boundary" )
|
||||||
-- self.Airbases.Gudauta.ZoneBoundary = ZONE_POLYGON:New( "Gudauta Boundary", GudautaBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Gudauta.ZoneBoundary = ZONE_POLYGON:New( "Gudauta Boundary", GudautaBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local GudautaRunway1 = GROUP:FindByName( "Gudauta Runway 1" )
|
-- local GudautaRunway1 = GROUP:FindByName( "Gudauta Runway 1" )
|
||||||
-- self.Airbases.Gudauta.ZoneRunways[1] = ZONE_POLYGON:New( "Gudauta Runway 1", GudautaRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Gudauta.ZoneRunways[1] = ZONE_POLYGON:New( "Gudauta Runway 1", GudautaRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Kobuleti
|
-- -- Kobuleti
|
||||||
-- local KobuletiBoundary = GROUP:FindByName( "Kobuleti Boundary" )
|
-- local KobuletiBoundary = GROUP:FindByName( "Kobuleti Boundary" )
|
||||||
-- self.Airbases.Kobuleti.ZoneBoundary = ZONE_POLYGON:New( "Kobuleti Boundary", KobuletiBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Kobuleti.ZoneBoundary = ZONE_POLYGON:New( "Kobuleti Boundary", KobuletiBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local KobuletiRunway1 = GROUP:FindByName( "Kobuleti Runway 1" )
|
-- local KobuletiRunway1 = GROUP:FindByName( "Kobuleti Runway 1" )
|
||||||
-- self.Airbases.Kobuleti.ZoneRunways[1] = ZONE_POLYGON:New( "Kobuleti Runway 1", KobuletiRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Kobuleti.ZoneRunways[1] = ZONE_POLYGON:New( "Kobuleti Runway 1", KobuletiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- KrasnodarCenter
|
-- -- KrasnodarCenter
|
||||||
-- local KrasnodarCenterBoundary = GROUP:FindByName( "KrasnodarCenter Boundary" )
|
-- local KrasnodarCenterBoundary = GROUP:FindByName( "KrasnodarCenter Boundary" )
|
||||||
-- self.Airbases.KrasnodarCenter.ZoneBoundary = ZONE_POLYGON:New( "KrasnodarCenter Boundary", KrasnodarCenterBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.KrasnodarCenter.ZoneBoundary = ZONE_POLYGON:New( "KrasnodarCenter Boundary", KrasnodarCenterBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local KrasnodarCenterRunway1 = GROUP:FindByName( "KrasnodarCenter Runway 1" )
|
-- local KrasnodarCenterRunway1 = GROUP:FindByName( "KrasnodarCenter Runway 1" )
|
||||||
-- self.Airbases.KrasnodarCenter.ZoneRunways[1] = ZONE_POLYGON:New( "KrasnodarCenter Runway 1", KrasnodarCenterRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.KrasnodarCenter.ZoneRunways[1] = ZONE_POLYGON:New( "KrasnodarCenter Runway 1", KrasnodarCenterRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- KrasnodarPashkovsky
|
-- -- KrasnodarPashkovsky
|
||||||
-- local KrasnodarPashkovskyBoundary = GROUP:FindByName( "KrasnodarPashkovsky Boundary" )
|
-- local KrasnodarPashkovskyBoundary = GROUP:FindByName( "KrasnodarPashkovsky Boundary" )
|
||||||
-- self.Airbases.KrasnodarPashkovsky.ZoneBoundary = ZONE_POLYGON:New( "KrasnodarPashkovsky Boundary", KrasnodarPashkovskyBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.KrasnodarPashkovsky.ZoneBoundary = ZONE_POLYGON:New( "KrasnodarPashkovsky Boundary", KrasnodarPashkovskyBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local KrasnodarPashkovskyRunway1 = GROUP:FindByName( "KrasnodarPashkovsky Runway 1" )
|
-- local KrasnodarPashkovskyRunway1 = GROUP:FindByName( "KrasnodarPashkovsky Runway 1" )
|
||||||
-- self.Airbases.KrasnodarPashkovsky.ZoneRunways[1] = ZONE_POLYGON:New( "KrasnodarPashkovsky Runway 1", KrasnodarPashkovskyRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.KrasnodarPashkovsky.ZoneRunways[1] = ZONE_POLYGON:New( "KrasnodarPashkovsky Runway 1", KrasnodarPashkovskyRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
-- local KrasnodarPashkovskyRunway2 = GROUP:FindByName( "KrasnodarPashkovsky Runway 2" )
|
-- local KrasnodarPashkovskyRunway2 = GROUP:FindByName( "KrasnodarPashkovsky Runway 2" )
|
||||||
-- self.Airbases.KrasnodarPashkovsky.ZoneRunways[2] = ZONE_POLYGON:New( "KrasnodarPashkovsky Runway 2", KrasnodarPashkovskyRunway2 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.KrasnodarPashkovsky.ZoneRunways[2] = ZONE_POLYGON:New( "KrasnodarPashkovsky Runway 2", KrasnodarPashkovskyRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Krymsk
|
-- -- Krymsk
|
||||||
-- local KrymskBoundary = GROUP:FindByName( "Krymsk Boundary" )
|
-- local KrymskBoundary = GROUP:FindByName( "Krymsk Boundary" )
|
||||||
-- self.Airbases.Krymsk.ZoneBoundary = ZONE_POLYGON:New( "Krymsk Boundary", KrymskBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Krymsk.ZoneBoundary = ZONE_POLYGON:New( "Krymsk Boundary", KrymskBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local KrymskRunway1 = GROUP:FindByName( "Krymsk Runway 1" )
|
-- local KrymskRunway1 = GROUP:FindByName( "Krymsk Runway 1" )
|
||||||
-- self.Airbases.Krymsk.ZoneRunways[1] = ZONE_POLYGON:New( "Krymsk Runway 1", KrymskRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Krymsk.ZoneRunways[1] = ZONE_POLYGON:New( "Krymsk Runway 1", KrymskRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Kutaisi
|
-- -- Kutaisi
|
||||||
-- local KutaisiBoundary = GROUP:FindByName( "Kutaisi Boundary" )
|
-- local KutaisiBoundary = GROUP:FindByName( "Kutaisi Boundary" )
|
||||||
-- self.Airbases.Kutaisi.ZoneBoundary = ZONE_POLYGON:New( "Kutaisi Boundary", KutaisiBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Kutaisi.ZoneBoundary = ZONE_POLYGON:New( "Kutaisi Boundary", KutaisiBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local KutaisiRunway1 = GROUP:FindByName( "Kutaisi Runway 1" )
|
-- local KutaisiRunway1 = GROUP:FindByName( "Kutaisi Runway 1" )
|
||||||
-- self.Airbases.Kutaisi.ZoneRunways[1] = ZONE_POLYGON:New( "Kutaisi Runway 1", KutaisiRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Kutaisi.ZoneRunways[1] = ZONE_POLYGON:New( "Kutaisi Runway 1", KutaisiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- MaykopKhanskaya
|
-- -- MaykopKhanskaya
|
||||||
-- local MaykopKhanskayaBoundary = GROUP:FindByName( "MaykopKhanskaya Boundary" )
|
-- local MaykopKhanskayaBoundary = GROUP:FindByName( "MaykopKhanskaya Boundary" )
|
||||||
-- self.Airbases.MaykopKhanskaya.ZoneBoundary = ZONE_POLYGON:New( "MaykopKhanskaya Boundary", MaykopKhanskayaBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.MaykopKhanskaya.ZoneBoundary = ZONE_POLYGON:New( "MaykopKhanskaya Boundary", MaykopKhanskayaBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local MaykopKhanskayaRunway1 = GROUP:FindByName( "MaykopKhanskaya Runway 1" )
|
-- local MaykopKhanskayaRunway1 = GROUP:FindByName( "MaykopKhanskaya Runway 1" )
|
||||||
-- self.Airbases.MaykopKhanskaya.ZoneRunways[1] = ZONE_POLYGON:New( "MaykopKhanskaya Runway 1", MaykopKhanskayaRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.MaykopKhanskaya.ZoneRunways[1] = ZONE_POLYGON:New( "MaykopKhanskaya Runway 1", MaykopKhanskayaRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- MineralnyeVody
|
-- -- MineralnyeVody
|
||||||
-- local MineralnyeVodyBoundary = GROUP:FindByName( "MineralnyeVody Boundary" )
|
-- local MineralnyeVodyBoundary = GROUP:FindByName( "MineralnyeVody Boundary" )
|
||||||
-- self.Airbases.MineralnyeVody.ZoneBoundary = ZONE_POLYGON:New( "MineralnyeVody Boundary", MineralnyeVodyBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.MineralnyeVody.ZoneBoundary = ZONE_POLYGON:New( "MineralnyeVody Boundary", MineralnyeVodyBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local MineralnyeVodyRunway1 = GROUP:FindByName( "MineralnyeVody Runway 1" )
|
-- local MineralnyeVodyRunway1 = GROUP:FindByName( "MineralnyeVody Runway 1" )
|
||||||
-- self.Airbases.MineralnyeVody.ZoneRunways[1] = ZONE_POLYGON:New( "MineralnyeVody Runway 1", MineralnyeVodyRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.MineralnyeVody.ZoneRunways[1] = ZONE_POLYGON:New( "MineralnyeVody Runway 1", MineralnyeVodyRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Mozdok
|
-- -- Mozdok
|
||||||
-- local MozdokBoundary = GROUP:FindByName( "Mozdok Boundary" )
|
-- local MozdokBoundary = GROUP:FindByName( "Mozdok Boundary" )
|
||||||
-- self.Airbases.Mozdok.ZoneBoundary = ZONE_POLYGON:New( "Mozdok Boundary", MozdokBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Mozdok.ZoneBoundary = ZONE_POLYGON:New( "Mozdok Boundary", MozdokBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local MozdokRunway1 = GROUP:FindByName( "Mozdok Runway 1" )
|
-- local MozdokRunway1 = GROUP:FindByName( "Mozdok Runway 1" )
|
||||||
-- self.Airbases.Mozdok.ZoneRunways[1] = ZONE_POLYGON:New( "Mozdok Runway 1", MozdokRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Mozdok.ZoneRunways[1] = ZONE_POLYGON:New( "Mozdok Runway 1", MozdokRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Nalchik
|
-- -- Nalchik
|
||||||
-- local NalchikBoundary = GROUP:FindByName( "Nalchik Boundary" )
|
-- local NalchikBoundary = GROUP:FindByName( "Nalchik Boundary" )
|
||||||
-- self.Airbases.Nalchik.ZoneBoundary = ZONE_POLYGON:New( "Nalchik Boundary", NalchikBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Nalchik.ZoneBoundary = ZONE_POLYGON:New( "Nalchik Boundary", NalchikBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local NalchikRunway1 = GROUP:FindByName( "Nalchik Runway 1" )
|
-- local NalchikRunway1 = GROUP:FindByName( "Nalchik Runway 1" )
|
||||||
-- self.Airbases.Nalchik.ZoneRunways[1] = ZONE_POLYGON:New( "Nalchik Runway 1", NalchikRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Nalchik.ZoneRunways[1] = ZONE_POLYGON:New( "Nalchik Runway 1", NalchikRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Novorossiysk
|
-- -- Novorossiysk
|
||||||
-- local NovorossiyskBoundary = GROUP:FindByName( "Novorossiysk Boundary" )
|
-- local NovorossiyskBoundary = GROUP:FindByName( "Novorossiysk Boundary" )
|
||||||
-- self.Airbases.Novorossiysk.ZoneBoundary = ZONE_POLYGON:New( "Novorossiysk Boundary", NovorossiyskBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Novorossiysk.ZoneBoundary = ZONE_POLYGON:New( "Novorossiysk Boundary", NovorossiyskBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local NovorossiyskRunway1 = GROUP:FindByName( "Novorossiysk Runway 1" )
|
-- local NovorossiyskRunway1 = GROUP:FindByName( "Novorossiysk Runway 1" )
|
||||||
-- self.Airbases.Novorossiysk.ZoneRunways[1] = ZONE_POLYGON:New( "Novorossiysk Runway 1", NovorossiyskRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Novorossiysk.ZoneRunways[1] = ZONE_POLYGON:New( "Novorossiysk Runway 1", NovorossiyskRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- SenakiKolkhi
|
-- -- SenakiKolkhi
|
||||||
-- local SenakiKolkhiBoundary = GROUP:FindByName( "SenakiKolkhi Boundary" )
|
-- local SenakiKolkhiBoundary = GROUP:FindByName( "SenakiKolkhi Boundary" )
|
||||||
-- self.Airbases.SenakiKolkhi.ZoneBoundary = ZONE_POLYGON:New( "SenakiKolkhi Boundary", SenakiKolkhiBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.SenakiKolkhi.ZoneBoundary = ZONE_POLYGON:New( "SenakiKolkhi Boundary", SenakiKolkhiBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local SenakiKolkhiRunway1 = GROUP:FindByName( "SenakiKolkhi Runway 1" )
|
-- local SenakiKolkhiRunway1 = GROUP:FindByName( "SenakiKolkhi Runway 1" )
|
||||||
-- self.Airbases.SenakiKolkhi.ZoneRunways[1] = ZONE_POLYGON:New( "SenakiKolkhi Runway 1", SenakiKolkhiRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.SenakiKolkhi.ZoneRunways[1] = ZONE_POLYGON:New( "SenakiKolkhi Runway 1", SenakiKolkhiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- SochiAdler
|
-- -- SochiAdler
|
||||||
-- local SochiAdlerBoundary = GROUP:FindByName( "SochiAdler Boundary" )
|
-- local SochiAdlerBoundary = GROUP:FindByName( "SochiAdler Boundary" )
|
||||||
-- self.Airbases.SochiAdler.ZoneBoundary = ZONE_POLYGON:New( "SochiAdler Boundary", SochiAdlerBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.SochiAdler.ZoneBoundary = ZONE_POLYGON:New( "SochiAdler Boundary", SochiAdlerBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local SochiAdlerRunway1 = GROUP:FindByName( "SochiAdler Runway 1" )
|
-- local SochiAdlerRunway1 = GROUP:FindByName( "SochiAdler Runway 1" )
|
||||||
-- self.Airbases.SochiAdler.ZoneRunways[1] = ZONE_POLYGON:New( "SochiAdler Runway 1", SochiAdlerRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.SochiAdler.ZoneRunways[1] = ZONE_POLYGON:New( "SochiAdler Runway 1", SochiAdlerRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
-- local SochiAdlerRunway2 = GROUP:FindByName( "SochiAdler Runway 2" )
|
-- local SochiAdlerRunway2 = GROUP:FindByName( "SochiAdler Runway 2" )
|
||||||
-- self.Airbases.SochiAdler.ZoneRunways[2] = ZONE_POLYGON:New( "SochiAdler Runway 2", SochiAdlerRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.SochiAdler.ZoneRunways[2] = ZONE_POLYGON:New( "SochiAdler Runway 2", SochiAdlerRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Soganlug
|
-- -- Soganlug
|
||||||
-- local SoganlugBoundary = GROUP:FindByName( "Soganlug Boundary" )
|
-- local SoganlugBoundary = GROUP:FindByName( "Soganlug Boundary" )
|
||||||
-- self.Airbases.Soganlug.ZoneBoundary = ZONE_POLYGON:New( "Soganlug Boundary", SoganlugBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Soganlug.ZoneBoundary = ZONE_POLYGON:New( "Soganlug Boundary", SoganlugBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local SoganlugRunway1 = GROUP:FindByName( "Soganlug Runway 1" )
|
-- local SoganlugRunway1 = GROUP:FindByName( "Soganlug Runway 1" )
|
||||||
-- self.Airbases.Soganlug.ZoneRunways[1] = ZONE_POLYGON:New( "Soganlug Runway 1", SoganlugRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Soganlug.ZoneRunways[1] = ZONE_POLYGON:New( "Soganlug Runway 1", SoganlugRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- SukhumiBabushara
|
-- -- SukhumiBabushara
|
||||||
-- local SukhumiBabusharaBoundary = GROUP:FindByName( "SukhumiBabushara Boundary" )
|
-- local SukhumiBabusharaBoundary = GROUP:FindByName( "SukhumiBabushara Boundary" )
|
||||||
-- self.Airbases.SukhumiBabushara.ZoneBoundary = ZONE_POLYGON:New( "SukhumiBabushara Boundary", SukhumiBabusharaBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.SukhumiBabushara.ZoneBoundary = ZONE_POLYGON:New( "SukhumiBabushara Boundary", SukhumiBabusharaBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local SukhumiBabusharaRunway1 = GROUP:FindByName( "SukhumiBabushara Runway 1" )
|
-- local SukhumiBabusharaRunway1 = GROUP:FindByName( "SukhumiBabushara Runway 1" )
|
||||||
-- self.Airbases.SukhumiBabushara.ZoneRunways[1] = ZONE_POLYGON:New( "SukhumiBabushara Runway 1", SukhumiBabusharaRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.SukhumiBabushara.ZoneRunways[1] = ZONE_POLYGON:New( "SukhumiBabushara Runway 1", SukhumiBabusharaRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- TbilisiLochini
|
-- -- TbilisiLochini
|
||||||
-- local TbilisiLochiniBoundary = GROUP:FindByName( "TbilisiLochini Boundary" )
|
-- local TbilisiLochiniBoundary = GROUP:FindByName( "TbilisiLochini Boundary" )
|
||||||
-- self.Airbases.TbilisiLochini.ZoneBoundary = ZONE_POLYGON:New( "TbilisiLochini Boundary", TbilisiLochiniBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.TbilisiLochini.ZoneBoundary = ZONE_POLYGON:New( "TbilisiLochini Boundary", TbilisiLochiniBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local TbilisiLochiniRunway1 = GROUP:FindByName( "TbilisiLochini Runway 1" )
|
-- local TbilisiLochiniRunway1 = GROUP:FindByName( "TbilisiLochini Runway 1" )
|
||||||
-- self.Airbases.TbilisiLochini.ZoneRunways[1] = ZONE_POLYGON:New( "TbilisiLochini Runway 1", TbilisiLochiniRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.TbilisiLochini.ZoneRunways[1] = ZONE_POLYGON:New( "TbilisiLochini Runway 1", TbilisiLochiniRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local TbilisiLochiniRunway2 = GROUP:FindByName( "TbilisiLochini Runway 2" )
|
-- local TbilisiLochiniRunway2 = GROUP:FindByName( "TbilisiLochini Runway 2" )
|
||||||
-- self.Airbases.TbilisiLochini.ZoneRunways[2] = ZONE_POLYGON:New( "TbilisiLochini Runway 2", TbilisiLochiniRunway2 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.TbilisiLochini.ZoneRunways[2] = ZONE_POLYGON:New( "TbilisiLochini Runway 2", TbilisiLochiniRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- -- Vaziani
|
-- -- Vaziani
|
||||||
-- local VazianiBoundary = GROUP:FindByName( "Vaziani Boundary" )
|
-- local VazianiBoundary = GROUP:FindByName( "Vaziani Boundary" )
|
||||||
-- self.Airbases.Vaziani.ZoneBoundary = ZONE_POLYGON:New( "Vaziani Boundary", VazianiBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Vaziani.ZoneBoundary = ZONE_POLYGON:New( "Vaziani Boundary", VazianiBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local VazianiRunway1 = GROUP:FindByName( "Vaziani Runway 1" )
|
-- local VazianiRunway1 = GROUP:FindByName( "Vaziani Runway 1" )
|
||||||
-- self.Airbases.Vaziani.ZoneRunways[1] = ZONE_POLYGON:New( "Vaziani Runway 1", VazianiRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Vaziani.ZoneRunways[1] = ZONE_POLYGON:New( "Vaziani Runway 1", VazianiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
@ -947,10 +947,10 @@ function AIRBASEPOLICE_CAUCASUS:New( SetClient )
|
|||||||
|
|
||||||
-- Template
|
-- Template
|
||||||
-- local TemplateBoundary = GROUP:FindByName( "Template Boundary" )
|
-- local TemplateBoundary = GROUP:FindByName( "Template Boundary" )
|
||||||
-- self.Airbases.Template.ZoneBoundary = ZONE_POLYGON:New( "Template Boundary", TemplateBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Template.ZoneBoundary = ZONE_POLYGON:New( "Template Boundary", TemplateBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local TemplateRunway1 = GROUP:FindByName( "Template Runway 1" )
|
-- local TemplateRunway1 = GROUP:FindByName( "Template Runway 1" )
|
||||||
-- self.Airbases.Template.ZoneRunways[1] = ZONE_POLYGON:New( "Template Runway 1", TemplateRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Template.ZoneRunways[1] = ZONE_POLYGON:New( "Template Runway 1", TemplateRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
@ -1143,49 +1143,49 @@ function AIRBASEPOLICE_NEVADA:New( SetClient )
|
|||||||
|
|
||||||
-- -- Nellis
|
-- -- Nellis
|
||||||
-- local NellisBoundary = GROUP:FindByName( "Nellis Boundary" )
|
-- local NellisBoundary = GROUP:FindByName( "Nellis Boundary" )
|
||||||
-- self.Airbases.Nellis.ZoneBoundary = ZONE_POLYGON:New( "Nellis Boundary", NellisBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Nellis.ZoneBoundary = ZONE_POLYGON:New( "Nellis Boundary", NellisBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local NellisRunway1 = GROUP:FindByName( "Nellis Runway 1" )
|
-- local NellisRunway1 = GROUP:FindByName( "Nellis Runway 1" )
|
||||||
-- self.Airbases.Nellis.ZoneRunways[1] = ZONE_POLYGON:New( "Nellis Runway 1", NellisRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Nellis.ZoneRunways[1] = ZONE_POLYGON:New( "Nellis Runway 1", NellisRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local NellisRunway2 = GROUP:FindByName( "Nellis Runway 2" )
|
-- local NellisRunway2 = GROUP:FindByName( "Nellis Runway 2" )
|
||||||
-- self.Airbases.Nellis.ZoneRunways[2] = ZONE_POLYGON:New( "Nellis Runway 2", NellisRunway2 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Nellis.ZoneRunways[2] = ZONE_POLYGON:New( "Nellis Runway 2", NellisRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- -- McCarran
|
-- -- McCarran
|
||||||
-- local McCarranBoundary = GROUP:FindByName( "McCarran Boundary" )
|
-- local McCarranBoundary = GROUP:FindByName( "McCarran Boundary" )
|
||||||
-- self.Airbases.McCarran.ZoneBoundary = ZONE_POLYGON:New( "McCarran Boundary", McCarranBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.McCarran.ZoneBoundary = ZONE_POLYGON:New( "McCarran Boundary", McCarranBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local McCarranRunway1 = GROUP:FindByName( "McCarran Runway 1" )
|
-- local McCarranRunway1 = GROUP:FindByName( "McCarran Runway 1" )
|
||||||
-- self.Airbases.McCarran.ZoneRunways[1] = ZONE_POLYGON:New( "McCarran Runway 1", McCarranRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.McCarran.ZoneRunways[1] = ZONE_POLYGON:New( "McCarran Runway 1", McCarranRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local McCarranRunway2 = GROUP:FindByName( "McCarran Runway 2" )
|
-- local McCarranRunway2 = GROUP:FindByName( "McCarran Runway 2" )
|
||||||
-- self.Airbases.McCarran.ZoneRunways[2] = ZONE_POLYGON:New( "McCarran Runway 2", McCarranRunway2 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.McCarran.ZoneRunways[2] = ZONE_POLYGON:New( "McCarran Runway 2", McCarranRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local McCarranRunway3 = GROUP:FindByName( "McCarran Runway 3" )
|
-- local McCarranRunway3 = GROUP:FindByName( "McCarran Runway 3" )
|
||||||
-- self.Airbases.McCarran.ZoneRunways[3] = ZONE_POLYGON:New( "McCarran Runway 3", McCarranRunway3 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.McCarran.ZoneRunways[3] = ZONE_POLYGON:New( "McCarran Runway 3", McCarranRunway3 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local McCarranRunway4 = GROUP:FindByName( "McCarran Runway 4" )
|
-- local McCarranRunway4 = GROUP:FindByName( "McCarran Runway 4" )
|
||||||
-- self.Airbases.McCarran.ZoneRunways[4] = ZONE_POLYGON:New( "McCarran Runway 4", McCarranRunway4 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.McCarran.ZoneRunways[4] = ZONE_POLYGON:New( "McCarran Runway 4", McCarranRunway4 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- -- Creech
|
-- -- Creech
|
||||||
-- local CreechBoundary = GROUP:FindByName( "Creech Boundary" )
|
-- local CreechBoundary = GROUP:FindByName( "Creech Boundary" )
|
||||||
-- self.Airbases.Creech.ZoneBoundary = ZONE_POLYGON:New( "Creech Boundary", CreechBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.Creech.ZoneBoundary = ZONE_POLYGON:New( "Creech Boundary", CreechBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local CreechRunway1 = GROUP:FindByName( "Creech Runway 1" )
|
-- local CreechRunway1 = GROUP:FindByName( "Creech Runway 1" )
|
||||||
-- self.Airbases.Creech.ZoneRunways[1] = ZONE_POLYGON:New( "Creech Runway 1", CreechRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Creech.ZoneRunways[1] = ZONE_POLYGON:New( "Creech Runway 1", CreechRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local CreechRunway2 = GROUP:FindByName( "Creech Runway 2" )
|
-- local CreechRunway2 = GROUP:FindByName( "Creech Runway 2" )
|
||||||
-- self.Airbases.Creech.ZoneRunways[2] = ZONE_POLYGON:New( "Creech Runway 2", CreechRunway2 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.Creech.ZoneRunways[2] = ZONE_POLYGON:New( "Creech Runway 2", CreechRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- -- Groom Lake
|
-- -- Groom Lake
|
||||||
-- local GroomLakeBoundary = GROUP:FindByName( "GroomLake Boundary" )
|
-- local GroomLakeBoundary = GROUP:FindByName( "GroomLake Boundary" )
|
||||||
-- self.Airbases.GroomLake.ZoneBoundary = ZONE_POLYGON:New( "GroomLake Boundary", GroomLakeBoundary ):SmokeZone(POINT_VEC3.SmokeColor.White):Flush()
|
-- self.Airbases.GroomLake.ZoneBoundary = ZONE_POLYGON:New( "GroomLake Boundary", GroomLakeBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
||||||
--
|
--
|
||||||
-- local GroomLakeRunway1 = GROUP:FindByName( "GroomLake Runway 1" )
|
-- local GroomLakeRunway1 = GROUP:FindByName( "GroomLake Runway 1" )
|
||||||
-- self.Airbases.GroomLake.ZoneRunways[1] = ZONE_POLYGON:New( "GroomLake Runway 1", GroomLakeRunway1 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.GroomLake.ZoneRunways[1] = ZONE_POLYGON:New( "GroomLake Runway 1", GroomLakeRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
--
|
--
|
||||||
-- local GroomLakeRunway2 = GROUP:FindByName( "GroomLake Runway 2" )
|
-- local GroomLakeRunway2 = GROUP:FindByName( "GroomLake Runway 2" )
|
||||||
-- self.Airbases.GroomLake.ZoneRunways[2] = ZONE_POLYGON:New( "GroomLake Runway 2", GroomLakeRunway2 ):SmokeZone(POINT_VEC3.SmokeColor.Red):Flush()
|
-- self.Airbases.GroomLake.ZoneRunways[2] = ZONE_POLYGON:New( "GroomLake Runway 2", GroomLakeRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush()
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -973,10 +973,10 @@ function DETECTION_AREAS:CreateDetectionSets()
|
|||||||
end
|
end
|
||||||
)
|
)
|
||||||
if DETECTION_AREAS._FlareDetectedZones or self._FlareDetectedZones then
|
if DETECTION_AREAS._FlareDetectedZones or self._FlareDetectedZones then
|
||||||
DetectedZone:FlareZone( POINT_VEC3.SmokeColor.White, 30, math.random( 0,90 ) )
|
DetectedZone:FlareZone( SMOKECOLOR.White, 30, math.random( 0,90 ) )
|
||||||
end
|
end
|
||||||
if DETECTION_AREAS._SmokeDetectedZones or self._SmokeDetectedZones then
|
if DETECTION_AREAS._SmokeDetectedZones or self._SmokeDetectedZones then
|
||||||
DetectedZone:SmokeZone( POINT_VEC3.SmokeColor.White, 30 )
|
DetectedZone:SmokeZone( SMOKECOLOR.White, 30 )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -494,10 +494,10 @@ function ESCORT:MenuFlare( MenuTextFormat )
|
|||||||
|
|
||||||
if not self.EscortMenuFlare then
|
if not self.EscortMenuFlare then
|
||||||
self.EscortMenuFlare = MENU_CLIENT:New( self.EscortClient, MenuText, self.EscortMenuReportNavigation, ESCORT._Flare, { ParamSelf = self } )
|
self.EscortMenuFlare = MENU_CLIENT:New( self.EscortClient, MenuText, self.EscortMenuReportNavigation, ESCORT._Flare, { ParamSelf = self } )
|
||||||
self.EscortMenuFlareGreen = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release green flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.Green, ParamMessage = "Released a green flare!" } )
|
self.EscortMenuFlareGreen = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release green flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = FLARECOLOR.Green, ParamMessage = "Released a green flare!" } )
|
||||||
self.EscortMenuFlareRed = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release red flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.Red, ParamMessage = "Released a red flare!" } )
|
self.EscortMenuFlareRed = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release red flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = FLARECOLOR.Red, ParamMessage = "Released a red flare!" } )
|
||||||
self.EscortMenuFlareWhite = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release white flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.White, ParamMessage = "Released a white flare!" } )
|
self.EscortMenuFlareWhite = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release white flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = FLARECOLOR.White, ParamMessage = "Released a white flare!" } )
|
||||||
self.EscortMenuFlareYellow = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release yellow flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.Yellow, ParamMessage = "Released a yellow flare!" } )
|
self.EscortMenuFlareYellow = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release yellow flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = FLARECOLOR.Yellow, ParamMessage = "Released a yellow flare!" } )
|
||||||
end
|
end
|
||||||
|
|
||||||
return self
|
return self
|
||||||
|
|||||||
@ -64,8 +64,7 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName )
|
|||||||
self.CommandCenterName = CommandCenterName or CommandCenterPositionable:GetName()
|
self.CommandCenterName = CommandCenterName or CommandCenterPositionable:GetName()
|
||||||
self.CommandCenterCoalition = CommandCenterPositionable:GetCoalition()
|
self.CommandCenterCoalition = CommandCenterPositionable:GetCoalition()
|
||||||
|
|
||||||
self.Missions = {}
|
self.Missions = setmetatable( {}, { __mode = "v" } )
|
||||||
setmetatable( self.Missions, { __mode = "v" } )
|
|
||||||
|
|
||||||
self:EventOnBirth(
|
self:EventOnBirth(
|
||||||
--- @param #COMMANDCENTER self
|
--- @param #COMMANDCENTER self
|
||||||
|
|||||||
@ -59,7 +59,6 @@ function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefi
|
|||||||
self.MissionCoalition = MissionCoalition
|
self.MissionCoalition = MissionCoalition
|
||||||
|
|
||||||
self.Tasks = {}
|
self.Tasks = {}
|
||||||
setmetatable( self.Tasks, { __mode = "v" } )
|
|
||||||
|
|
||||||
-- Build the Fsm for the mission.
|
-- Build the Fsm for the mission.
|
||||||
|
|
||||||
@ -202,6 +201,7 @@ function MISSION:AddTask( Task )
|
|||||||
|
|
||||||
local TaskName = Task:GetTaskName()
|
local TaskName = Task:GetTaskName()
|
||||||
self:F( TaskName )
|
self:F( TaskName )
|
||||||
|
|
||||||
self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 }
|
self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 }
|
||||||
|
|
||||||
self.Tasks[TaskName] = Task
|
self.Tasks[TaskName] = Task
|
||||||
@ -222,8 +222,6 @@ function MISSION:RemoveTask( Task )
|
|||||||
self:F( TaskName )
|
self:F( TaskName )
|
||||||
self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 }
|
self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 }
|
||||||
|
|
||||||
Task:CleanUp() -- Cleans all events and sets task to nil to get Garbage Collected
|
|
||||||
|
|
||||||
-- Ensure everything gets garbarge collected.
|
-- Ensure everything gets garbarge collected.
|
||||||
self.Tasks[TaskName] = nil
|
self.Tasks[TaskName] = nil
|
||||||
Task = nil
|
Task = nil
|
||||||
|
|||||||
@ -55,6 +55,8 @@
|
|||||||
-- @field Tasking.Mission#MISSION Mission
|
-- @field Tasking.Mission#MISSION Mission
|
||||||
-- @field Core.Set#SET_GROUP SetGroup The Set of Groups assigned to the Task
|
-- @field Core.Set#SET_GROUP SetGroup The Set of Groups assigned to the Task
|
||||||
-- @field Fsm.Fsm#FSM_PROCESS FsmTemplate
|
-- @field Fsm.Fsm#FSM_PROCESS FsmTemplate
|
||||||
|
-- @field Tasking.Mission#MISSION Mission
|
||||||
|
-- @field Tasking.CommandCenter#COMMANDCENTER CommandCenter
|
||||||
-- @extends Fsm.Fsm#FSM_TASK
|
-- @extends Fsm.Fsm#FSM_TASK
|
||||||
TASK_BASE = {
|
TASK_BASE = {
|
||||||
ClassName = "TASK_BASE",
|
ClassName = "TASK_BASE",
|
||||||
@ -66,6 +68,8 @@ TASK_BASE = {
|
|||||||
Menu = {},
|
Menu = {},
|
||||||
SetGroup = nil,
|
SetGroup = nil,
|
||||||
FsmTemplate = nil,
|
FsmTemplate = nil,
|
||||||
|
Mission = nil,
|
||||||
|
CommandCenter = nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
--- Instantiates a new TASK_BASE. Should never be used. Interface Class.
|
--- Instantiates a new TASK_BASE. Should never be used. Interface Class.
|
||||||
@ -94,6 +98,7 @@ function TASK_BASE:New( Mission, SetGroupAssign, TaskName, TaskType )
|
|||||||
self.Fsm = {}
|
self.Fsm = {}
|
||||||
|
|
||||||
self.Mission = Mission
|
self.Mission = Mission
|
||||||
|
self.CommandCenter = Mission:GetCommandCenter()
|
||||||
|
|
||||||
self.SetGroup = SetGroupAssign
|
self.SetGroup = SetGroupAssign
|
||||||
|
|
||||||
@ -106,6 +111,7 @@ function TASK_BASE:New( Mission, SetGroupAssign, TaskName, TaskType )
|
|||||||
self.FsmTemplate = self.FsmTemplate or FSM_PROCESS:New()
|
self.FsmTemplate = self.FsmTemplate or FSM_PROCESS:New()
|
||||||
|
|
||||||
-- Handle the birth of new planes within the assigned set.
|
-- Handle the birth of new planes within the assigned set.
|
||||||
|
|
||||||
self:EventOnPlayerEnterUnit(
|
self:EventOnPlayerEnterUnit(
|
||||||
--- @param #TASK_BASE self
|
--- @param #TASK_BASE self
|
||||||
-- @param Core.Event#EVENTDATA EventData
|
-- @param Core.Event#EVENTDATA EventData
|
||||||
@ -142,7 +148,7 @@ function TASK_BASE:New( Mission, SetGroupAssign, TaskName, TaskType )
|
|||||||
self:UnAssignFromUnit( TaskUnit )
|
self:UnAssignFromUnit( TaskUnit )
|
||||||
self:MessageToGroups( TaskUnit:GetPlayerName() .. " aborted Task " .. self:GetName() )
|
self:MessageToGroups( TaskUnit:GetPlayerName() .. " aborted Task " .. self:GetName() )
|
||||||
end
|
end
|
||||||
if self:AreUnitsAlive() == false then
|
if self:HasAliveUnits() == false then
|
||||||
self:__Abort( 1 )
|
self:__Abort( 1 )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -170,6 +176,7 @@ function TASK_BASE:New( Mission, SetGroupAssign, TaskName, TaskType )
|
|||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
Mission:AddTask( self )
|
Mission:AddTask( self )
|
||||||
|
|
||||||
return self
|
return self
|
||||||
@ -279,6 +286,7 @@ end
|
|||||||
--- Send a message of the @{Task} to the assigned @{Group}s.
|
--- Send a message of the @{Task} to the assigned @{Group}s.
|
||||||
-- @param #TASK_BASE self
|
-- @param #TASK_BASE self
|
||||||
function TASK_BASE:MessageToGroups( Message )
|
function TASK_BASE:MessageToGroups( Message )
|
||||||
|
self:F( { Message = Message } )
|
||||||
|
|
||||||
local Mission = self:GetMission()
|
local Mission = self:GetMission()
|
||||||
local CC = Mission:GetCommandCenter()
|
local CC = Mission:GetCommandCenter()
|
||||||
@ -344,13 +352,15 @@ end
|
|||||||
--- Returns if the @{Task} has still alive and assigned Units.
|
--- Returns if the @{Task} has still alive and assigned Units.
|
||||||
-- @param #TASK_BASE self
|
-- @param #TASK_BASE self
|
||||||
-- @return #boolean
|
-- @return #boolean
|
||||||
function TASK_BASE:HasAliveUnits( TaskGroup )
|
function TASK_BASE:HasAliveUnits()
|
||||||
|
self:F()
|
||||||
|
|
||||||
for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do
|
for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do
|
||||||
if self:IsStateAssigned() then
|
if self:IsStateAssigned() then
|
||||||
if self:IsAssignedToGroup( TaskGroup ) then
|
if self:IsAssignedToGroup( TaskGroup ) then
|
||||||
for TaskUnitID, TaskUnit in pairs( TaskGroup:GetUnits() ) do
|
for TaskUnitID, TaskUnit in pairs( TaskGroup:GetUnits() ) do
|
||||||
if TaskUnit:IsAlive() then
|
if TaskUnit:IsAlive() then
|
||||||
|
self:T( { HasAliveUnits = true } )
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -358,6 +368,7 @@ function TASK_BASE:HasAliveUnits( TaskGroup )
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self:T( { HasAliveUnits = true } )
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -784,22 +795,6 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- Adds a score for the TASK to be achieved.
|
|
||||||
-- @param #FSM_TEMPLATE self
|
|
||||||
-- @param #string TaskStatus is the status of the TASK when the score needs to be given.
|
|
||||||
-- @param #string ScoreText is a text describing the score that is given according the status.
|
|
||||||
-- @param #number Score is a number providing the score of the status.
|
|
||||||
-- @return #FSM_TEMPLATE self
|
|
||||||
function TASK_BASE:AddScoreTask( TaskStatus, ScoreText, Score )
|
|
||||||
self:F2( { TaskStatus, ScoreText, Score } )
|
|
||||||
|
|
||||||
self.Scores[TaskStatus] = self.Scores[TaskStatus] or {}
|
|
||||||
self.Scores[TaskStatus].ScoreText = ScoreText
|
|
||||||
self.Scores[TaskStatus].Score = Score
|
|
||||||
return self
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
--- StateMachine callback function for a TASK
|
--- StateMachine callback function for a TASK
|
||||||
-- @param #TASK_BASE self
|
-- @param #TASK_BASE self
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
|
|||||||
@ -75,39 +75,10 @@
|
|||||||
--- The UNIT class
|
--- The UNIT class
|
||||||
-- @type UNIT
|
-- @type UNIT
|
||||||
-- @extends Wrapper.Controllable#CONTROLLABLE
|
-- @extends Wrapper.Controllable#CONTROLLABLE
|
||||||
-- @field #UNIT.FlareColor FlareColor
|
|
||||||
-- @field #UNIT.SmokeColor SmokeColor
|
|
||||||
UNIT = {
|
UNIT = {
|
||||||
ClassName="UNIT",
|
ClassName="UNIT",
|
||||||
FlareColor = {
|
}
|
||||||
Green = trigger.flareColor.Green,
|
|
||||||
Red = trigger.flareColor.Red,
|
|
||||||
White = trigger.flareColor.White,
|
|
||||||
Yellow = trigger.flareColor.Yellow
|
|
||||||
},
|
|
||||||
SmokeColor = {
|
|
||||||
Green = trigger.smokeColor.Green,
|
|
||||||
Red = trigger.smokeColor.Red,
|
|
||||||
White = trigger.smokeColor.White,
|
|
||||||
Orange = trigger.smokeColor.Orange,
|
|
||||||
Blue = trigger.smokeColor.Blue
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
--- FlareColor
|
|
||||||
-- @type UNIT.FlareColor
|
|
||||||
-- @field Green
|
|
||||||
-- @field Red
|
|
||||||
-- @field White
|
|
||||||
-- @field Yellow
|
|
||||||
|
|
||||||
--- SmokeColor
|
|
||||||
-- @type UNIT.SmokeColor
|
|
||||||
-- @field Green
|
|
||||||
-- @field Red
|
|
||||||
-- @field White
|
|
||||||
-- @field Orange
|
|
||||||
-- @field Blue
|
|
||||||
|
|
||||||
--- Unit.SensorType
|
--- Unit.SensorType
|
||||||
-- @type Unit.SensorType
|
-- @type Unit.SensorType
|
||||||
@ -655,6 +626,7 @@ end
|
|||||||
|
|
||||||
--- Signal a flare at the position of the UNIT.
|
--- Signal a flare at the position of the UNIT.
|
||||||
-- @param #UNIT self
|
-- @param #UNIT self
|
||||||
|
-- @param Utilities.Utils#FLARECOLOR FlareColor
|
||||||
function UNIT:Flare( FlareColor )
|
function UNIT:Flare( FlareColor )
|
||||||
self:F2()
|
self:F2()
|
||||||
trigger.action.signalFlare( self:GetVec3(), FlareColor , 0 )
|
trigger.action.signalFlare( self:GetVec3(), FlareColor , 0 )
|
||||||
|
|||||||
@ -121,9 +121,9 @@ GroupZoneCompletely = GROUP:FindByName( "Zone Completely" )
|
|||||||
GroupZonePartly = GROUP:FindByName( "Zone Partly" )
|
GroupZonePartly = GROUP:FindByName( "Zone Partly" )
|
||||||
GroupZoneNot = GROUP:FindByName( "Zone Not" )
|
GroupZoneNot = GROUP:FindByName( "Zone Not" )
|
||||||
|
|
||||||
ZoneCompletely = ZONE_POLYGON:New( "Zone Completely", GroupZoneCompletely ):SmokeZone( POINT_VEC3.SmokeColor.White )
|
ZoneCompletely = ZONE_POLYGON:New( "Zone Completely", GroupZoneCompletely ):SmokeZone( SMOKECOLOR.White )
|
||||||
ZonePartly = ZONE_POLYGON:New( "Zone Partly", GroupZonePartly ):SmokeZone( POINT_VEC3.SmokeColor.White )
|
ZonePartly = ZONE_POLYGON:New( "Zone Partly", GroupZonePartly ):SmokeZone( SMOKECOLOR.White )
|
||||||
ZoneNot = ZONE_POLYGON:New( "Zone Not", GroupZoneNot ):SmokeZone( POINT_VEC3.SmokeColor.White )
|
ZoneNot = ZONE_POLYGON:New( "Zone Not", GroupZoneNot ):SmokeZone( SMOKECOLOR.White )
|
||||||
|
|
||||||
SetVehicleCompletely:ForEachGroupCompletelyInZone( ZoneCompletely,
|
SetVehicleCompletely:ForEachGroupCompletelyInZone( ZoneCompletely,
|
||||||
--- @param Wrapper.Group#GROUP MooseGroup
|
--- @param Wrapper.Group#GROUP MooseGroup
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
-- This test mission is a test bed for the TASKING framework.
|
-- This test mission is a test bed for the TASKING framework.
|
||||||
-- It creates an head quarters (HQ), which contains one mission with one task to be accomplished.
|
-- It creates an head quarters (HQ), which contains one mission with one task to be accomplished.
|
||||||
-- When the pilot joins the plane, it will need to accept the task using the HQ menu.
|
-- When the pilot joins the plane, it will need to accept the task using the HQ menu.
|
||||||
@ -102,8 +103,27 @@ FsmSEADTemplate:AddScoreProcess( "Updated", "Account", "Failed", "failed to dest
|
|||||||
FsmSEADTemplate:AddScore( "Success", "Destroyed all target radars", 250 )
|
FsmSEADTemplate:AddScore( "Success", "Destroyed all target radars", 250 )
|
||||||
FsmSEADTemplate:AddScore( "Failed", "Failed to destroy all target radars", -100 )
|
FsmSEADTemplate:AddScore( "Failed", "Failed to destroy all target radars", -100 )
|
||||||
|
|
||||||
|
--local TestTask = TASK_BASE:New( Mission, SEADSet, "TEST TASK", "TEST" )
|
||||||
|
--TestTask:E("Clean TestTask")
|
||||||
|
--TestTask = nil
|
||||||
|
--collectgarbage()
|
||||||
|
--
|
||||||
|
--local TestUnit = GROUP:FindByName( "HQ" ):GetUnit(1)
|
||||||
|
--
|
||||||
|
--local fsm = FSM_PROCESS:New( TestUnit, TaskSEAD )
|
||||||
|
--
|
||||||
|
--fsm:AddProcess("test","test",FSM_ACCOUNT_DEADS:New( TargetSet, "SEAD" ))
|
||||||
|
--
|
||||||
|
----Mission:AddTask(fsm)
|
||||||
|
--
|
||||||
|
--fsm:E("CLEAN fsm")
|
||||||
|
--fsm = nil
|
||||||
|
--collectgarbage()
|
||||||
|
--
|
||||||
|
--
|
||||||
|
--TaskSEAD:E("CLEAN TASK")
|
||||||
|
--TaskSEAD = nil
|
||||||
|
--collectgarbage()
|
||||||
|
|
||||||
function FsmSEADTemplate:onenterUpdated( TaskUnit )
|
function FsmSEADTemplate:onenterUpdated( TaskUnit )
|
||||||
self:E( { self } )
|
self:E( { self } )
|
||||||
@ -112,9 +132,13 @@ function FsmSEADTemplate:onenterUpdated( TaskUnit )
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local TaskSEAD2 = TASK_BASE:New( Mission, SEADSet, "SEAD Radars Vector 2", "SEAD" ) -- Tasking.Task#TASK_BASE
|
--local TaskSEAD2 = TASK_BASE:New( Mission, SEADSet, "SEAD Radars Vector 2", "SEAD" ) -- Tasking.Task#TASK_BASE
|
||||||
TaskSEAD2:SetFsmTemplate( TaskSEAD:GetFsmTemplate():Copy() )
|
--TaskSEAD2:SetFsmTemplate( TaskSEAD:GetFsmTemplate():Copy() )
|
||||||
--Mission:AddTask( TaskSEAD2 )
|
--Mission:AddTask( TaskSEAD2 )
|
||||||
|
|
||||||
|
TaskSEAD = nil
|
||||||
|
FsmSEADTemplate = nil
|
||||||
|
|
||||||
HQ:SetMenu()
|
HQ:SetMenu()
|
||||||
|
|
||||||
|
collectgarbage()
|
||||||
|
|||||||
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
local GroupInside = GROUP:FindByName( "Test Inside Polygon" )
|
local GroupInside = GROUP:FindByName( "Test Inside Polygon" )
|
||||||
local GroupOutside = GROUP:FindByName( "Test Outside Polygon" )
|
local GroupOutside = GROUP:FindByName( "Test Outside Polygon" )
|
||||||
|
|
||||||
local ZoneA = ZONE:New( "Zone A" ):SmokeZone( POINT_VEC3.SmokeColor.White, 90 )
|
local ZoneA = ZONE:New( "Zone A" ):SmokeZone( SMOKECOLOR.White, 90 )
|
||||||
|
|
||||||
Messager = SCHEDULER:New( nil,
|
Messager = SCHEDULER:New( nil,
|
||||||
function()
|
function()
|
||||||
|
|||||||
@ -7,7 +7,7 @@ local GroupInside = GROUP:FindByName( "Test Inside Polygon" )
|
|||||||
local GroupOutside = GROUP:FindByName( "Test Outside Polygon" )
|
local GroupOutside = GROUP:FindByName( "Test Outside Polygon" )
|
||||||
|
|
||||||
local House = STATIC:FindByName( "House" )
|
local House = STATIC:FindByName( "House" )
|
||||||
local ZoneA = ZONE_RADIUS:New( "Zone A", House:GetPointVec2(), 300 ):SmokeZone( POINT_VEC3.SmokeColor.White, 90 )
|
local ZoneA = ZONE_RADIUS:New( "Zone A", House:GetPointVec2(), 300 ):SmokeZone( SMOKECOLOR.White, 90 )
|
||||||
|
|
||||||
Messager = SCHEDULER:New( nil,
|
Messager = SCHEDULER:New( nil,
|
||||||
function()
|
function()
|
||||||
|
|||||||
@ -8,7 +8,7 @@ local GroupOutside = GROUP:FindByName( "Test Outside Polygon" )
|
|||||||
|
|
||||||
local GroupPolygon = GROUP:FindByName( "Polygon A" )
|
local GroupPolygon = GROUP:FindByName( "Polygon A" )
|
||||||
|
|
||||||
local PolygonZone = ZONE_POLYGON:New( "Polygon A", GroupPolygon ):SmokeZone( POINT_VEC3.SmokeColor.White, 20 )
|
local PolygonZone = ZONE_POLYGON:New( "Polygon A", GroupPolygon ):SmokeZone( SMOKECOLOR.White, 20 )
|
||||||
|
|
||||||
Messager = SCHEDULER:New( nil,
|
Messager = SCHEDULER:New( nil,
|
||||||
function()
|
function()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user