mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Updates
This commit is contained in:
parent
3496550cb3
commit
b45f20579e
@ -597,10 +597,10 @@ FSM_SET = {
|
|||||||
-- @param #table FSMT Finite State Machine Table
|
-- @param #table FSMT Finite State Machine Table
|
||||||
-- @param Set_SET_BASE FSMSet (optional) The Set object that the FSM_SET governs.
|
-- @param Set_SET_BASE FSMSet (optional) The Set object that the FSM_SET governs.
|
||||||
-- @return #FSM_SET
|
-- @return #FSM_SET
|
||||||
function FSM_SET:New( FSMT, FSMSet )
|
function FSM_SET:New( FSMSet )
|
||||||
|
|
||||||
-- Inherits from BASE
|
-- Inherits from BASE
|
||||||
local self = BASE:Inherit( self, FSM:New( FSMT ) ) -- Fsm.Fsm#FSM_SET
|
local self = BASE:Inherit( self, FSM:New() ) -- Fsm.Fsm#FSM_SET
|
||||||
|
|
||||||
if FSMSet then
|
if FSMSet then
|
||||||
self:Set( FSMSet )
|
self:Set( FSMSet )
|
||||||
|
|||||||
@ -177,20 +177,16 @@ PATROLZONE = {
|
|||||||
-- PatrolArea = PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )
|
-- PatrolArea = PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )
|
||||||
function PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )
|
function PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )
|
||||||
|
|
||||||
local FSMT = {
|
|
||||||
initial = 'None',
|
|
||||||
events = {
|
|
||||||
{ name = 'Start', from = '*', to = 'Route' },
|
|
||||||
{ name = 'Route', from = '*', to = 'Route' },
|
|
||||||
{ name = 'Patrol', from = { 'Patrol', 'Route' }, to = 'Patrol' },
|
|
||||||
{ name = 'RTB', from = 'Patrol', to = 'RTB' },
|
|
||||||
{ name = 'End', from = '*', to = 'End' },
|
|
||||||
{ name = 'Dead', from = '*', to = 'End' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Inherits from BASE
|
-- Inherits from BASE
|
||||||
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New( FSMT ) )
|
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- Fsm.Fsm#FSM_CONTROLLABLE
|
||||||
|
|
||||||
|
self:SetStartState( "None" )
|
||||||
|
self:AddTransition( "*", "Start", "Route" )
|
||||||
|
self:AddTransition( "*", "Route", "Route" )
|
||||||
|
self:AddTransition( { "Patrol", "Route" }, "Patrol", "Patrol" )
|
||||||
|
self:AddTransition( "Patrol", "RTB", "RTB" )
|
||||||
|
self:AddTransition( "*", "End", "End" )
|
||||||
|
self:AddTransition( "*", "Dead", "End" )
|
||||||
|
|
||||||
self.PatrolZone = PatrolZone
|
self.PatrolZone = PatrolZone
|
||||||
self.PatrolFloorAltitude = PatrolFloorAltitude
|
self.PatrolFloorAltitude = PatrolFloorAltitude
|
||||||
|
|||||||
@ -89,22 +89,20 @@ AIBALANCER = {
|
|||||||
-- @usage
|
-- @usage
|
||||||
-- -- Define a new AIBALANCER Object.
|
-- -- Define a new AIBALANCER Object.
|
||||||
function AIBALANCER:New( SetClient, SpawnAI )
|
function AIBALANCER:New( SetClient, SpawnAI )
|
||||||
|
|
||||||
local FSMT = {
|
|
||||||
initial = 'None',
|
|
||||||
events = {
|
|
||||||
{ name = 'Start', from = '*', to = 'Monitoring' },
|
|
||||||
{ name = 'Monitor', from = '*', to = 'Monitoring' },
|
|
||||||
{ name = 'Spawn', from = '*', to = 'Spawning' },
|
|
||||||
{ name = 'Destroy', from = '*', to = 'Destroying' },
|
|
||||||
{ name = 'Return', from = '*', to = 'Returning' },
|
|
||||||
{ name = 'End', from = '*', to = 'End' },
|
|
||||||
{ name = 'Dead', from = '*', to = 'End' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Inherits from BASE
|
-- Inherits from BASE
|
||||||
local self = BASE:Inherit( self, FSM_SET:New( FSMT, SET_GROUP:New() ) )
|
local self = BASE:Inherit( self, FSM_SET:New( SET_GROUP:New() ) ) -- Fsm.Fsm#FSM_SET
|
||||||
|
|
||||||
|
self:SetStartState( "None" )
|
||||||
|
self:AddTransition( "*", "Start", "Monitoring" )
|
||||||
|
self:AddTransition( "*", "Monitor", "Monitoring" )
|
||||||
|
self:AddTransition( "*", "Spawn", "Spawning" )
|
||||||
|
self:AddTransition( "*", "Destroy", "Destroying" )
|
||||||
|
self:AddTransition( "*", "Return", "Returning" )
|
||||||
|
self:AddTransition( "*", "End", "End" )
|
||||||
|
self:AddTransition( "*", "Dead", "End" )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
self.SetClient = SetClient
|
self.SetClient = SetClient
|
||||||
self.SpawnAI = SpawnAI
|
self.SpawnAI = SpawnAI
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
local US_PlanesClientSet = SET_CLIENT:New():FilterCountries( "USA" ):FilterCategories( "plane" ):FilterStart()
|
local US_PlanesClientSet = SET_CLIENT:New():FilterCountries( "USA" ):FilterCategories( "plane" ):FilterStart()
|
||||||
|
|
||||||
local US_PlanesSpawn = SPAWN:New( "AI US" ):InitCleanUp( 20 )
|
local US_PlanesSpawn = SPAWN:New( "AI US" ):InitCleanUp( 20 )
|
||||||
local US_AIBalancer = AISET_BALANCER:New( US_PlanesClientSet, US_PlanesSpawn )
|
local US_AIBalancer = AIBALANCER:New( US_PlanesClientSet, US_PlanesSpawn )
|
||||||
|
|
||||||
local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart()
|
local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart()
|
||||||
local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
|
local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
|
||||||
local RU_AIBalancer = AISET_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
|
local RU_AIBalancer = AIBALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
|
||||||
|
|
||||||
local RU_AirbasesSet = SET_AIRBASE:New():FilterCoalitions("red"):FilterStart()
|
local RU_AirbasesSet = SET_AIRBASE:New():FilterCoalitions("red"):FilterStart()
|
||||||
RU_AirbasesSet:Flush()
|
RU_AirbasesSet:Flush()
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user