Progress hierarchical state machine

- sub fsm call is working
- return from fsm to parent fsm is in progress
This commit is contained in:
FlightControl
2016-07-02 08:17:33 +02:00
parent 7b66589cca
commit d668b0a0f7
10 changed files with 209 additions and 48095 deletions

View File

@@ -7,9 +7,27 @@ Mission:AddScoring( Scoring )
local Client = CLIENT:FindByName( "Test SEAD" )
local TargetSet = SET_UNIT:New():FilterPrefixes( "US Hawk SR" ):FilterStart()
local Task_SEAD = TASK2_SEAD:New( Client, Mission, TargetSet )
local Task_Menu = TASK2_CLIENT_MENU:New( Client, Mission, "SEAD" )
--local Task_Route = TASK2_ROUTE:New( Client, Mission ) -- Zone is dynamically defined in state machine
local Task_Client_Sead = TASK2_SEAD:New( Client, Mission, TargetSet )
Task_SEAD:AddScore( "Destroy", "Destroyed RADAR", 25 )
Task_SEAD:AddScore( "Success", "Destroyed all radars!!!", 100 )
Task_Client_Sead:AddScore( "Destroy", "Destroyed RADAR", 25 )
Task_Client_Sead:AddScore( "Success", "Destroyed all radars!!!", 100 )
local Task_Sead = STATEMACHINE:New( {
initial = 'None',
events = {
{ name = 'Start', from = 'None', to = 'Unassigned' },
{ name = 'Assign', from = 'Unassigned', to = 'Assigned' },
-- { name = 'Route', from = 'Assigned', to = 'Arrived' },
{ name = 'Sead', from = 'Assigned', to = 'Seading' },
{ name = 'Destroyed', from = 'Destroy', to = 'Success' },
},
subs = {
Menu = { onstateparent = 'Unassigned', oneventparent = 'Start', fsm = Task_Menu.Fsm, event = 'Menu' },
--Assigned = { onstateparent = 'Assigned', oneventparent = 'Assign', fsm = Task_Route.Fsm, event = 'Route' },
Sead = { onstateparent = 'Assigned', oneventparent = 'Assign', fsm = Task_Client_Sead.Fsm, event = 'Await' }
}
} )
Task_Sead:Start()