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
74cee904cd
commit
d62acf421e
@ -54,7 +54,7 @@ end
|
||||
-- @param #SCHEDULEDISPATCHER self
|
||||
-- @param Core.Scheduler#SCHEDULER Scheduler
|
||||
function SCHEDULEDISPATCHER:AddSchedule( Scheduler, ScheduleFunction, ScheduleArguments, Start, Repeat, Randomize, Stop )
|
||||
self:F( { Scheduler, ScheduleFunction, ScheduleArguments, Start, Repeat, Randomize, Stop } )
|
||||
self:F2( { Scheduler, ScheduleFunction, ScheduleArguments, Start, Repeat, Randomize, Stop } )
|
||||
|
||||
self.CallID = self.CallID + 1
|
||||
|
||||
@ -88,7 +88,7 @@ function SCHEDULEDISPATCHER:AddSchedule( Scheduler, ScheduleFunction, ScheduleAr
|
||||
self:T3( self.Schedule[Scheduler][self.CallID] )
|
||||
|
||||
self.Schedule[Scheduler][self.CallID].CallHandler = function( CallID )
|
||||
self:F( CallID )
|
||||
self:F2( CallID )
|
||||
|
||||
local ErrorHandler = function( errmsg )
|
||||
env.info( "Error in timer function: " .. errmsg )
|
||||
@ -103,13 +103,13 @@ function SCHEDULEDISPATCHER:AddSchedule( Scheduler, ScheduleFunction, ScheduleAr
|
||||
Scheduler = self.PersistentSchedulers[CallID]
|
||||
end
|
||||
|
||||
self:T( { Scheduler = Scheduler } )
|
||||
self:T3( { Scheduler = Scheduler } )
|
||||
|
||||
if Scheduler then
|
||||
|
||||
local Schedule = self.Schedule[Scheduler][CallID]
|
||||
|
||||
self:T( { Schedule = Schedule } )
|
||||
self:T3( { Schedule = Schedule } )
|
||||
|
||||
local ScheduleObject = Scheduler.SchedulerObject
|
||||
--local ScheduleObjectName = Scheduler.SchedulerObject:GetNameAndClassID()
|
||||
@ -168,7 +168,7 @@ function SCHEDULEDISPATCHER:AddSchedule( Scheduler, ScheduleFunction, ScheduleAr
|
||||
end
|
||||
|
||||
function SCHEDULEDISPATCHER:RemoveSchedule( Scheduler, CallID )
|
||||
self:F( { Remove = CallID, Scheduler = Scheduler } )
|
||||
self:F2( { Remove = CallID, Scheduler = Scheduler } )
|
||||
|
||||
if CallID then
|
||||
self:Stop( Scheduler, CallID )
|
||||
@ -177,7 +177,7 @@ function SCHEDULEDISPATCHER:RemoveSchedule( Scheduler, CallID )
|
||||
end
|
||||
|
||||
function SCHEDULEDISPATCHER:Start( Scheduler, CallID )
|
||||
self:F( { Start = CallID, Scheduler = Scheduler } )
|
||||
self:F2( { Start = CallID, Scheduler = Scheduler } )
|
||||
|
||||
if CallID then
|
||||
local Schedule = self.Schedule[Scheduler]
|
||||
@ -194,7 +194,7 @@ function SCHEDULEDISPATCHER:Start( Scheduler, CallID )
|
||||
end
|
||||
|
||||
function SCHEDULEDISPATCHER:Stop( Scheduler, CallID )
|
||||
self:F( { Stop = CallID, Scheduler = Scheduler } )
|
||||
self:F2( { Stop = CallID, Scheduler = Scheduler } )
|
||||
|
||||
if CallID then
|
||||
local Schedule = self.Schedule[Scheduler]
|
||||
|
||||
@ -549,7 +549,7 @@ do -- FSM_PROCESS
|
||||
end
|
||||
|
||||
--- Sets the task of the process.
|
||||
-- @param #PROCESS self
|
||||
-- @param #FSM_PROCESS self
|
||||
-- @param Tasking.Task#TASK_BASE Task
|
||||
-- @return #PROCESS
|
||||
function FSM_PROCESS:SetTask( Task )
|
||||
@ -560,7 +560,7 @@ do -- FSM_PROCESS
|
||||
end
|
||||
|
||||
--- Gets the task of the process.
|
||||
-- @param #PROCESS self
|
||||
-- @param #FSM_PROCESS self
|
||||
-- @return Tasking.Task#TASK_BASE
|
||||
function FSM_PROCESS:GetTask()
|
||||
|
||||
@ -568,13 +568,34 @@ do -- FSM_PROCESS
|
||||
end
|
||||
|
||||
--- Gets the mission of the process.
|
||||
-- @param #PROCESS self
|
||||
-- @param #FSM_PROCESS self
|
||||
-- @return Tasking.Mission#MISSION
|
||||
function FSM_PROCESS:GetMission()
|
||||
|
||||
return self.Task.Mission
|
||||
end
|
||||
|
||||
--- Gets the mission of the process.
|
||||
-- @param #FSM_PROCESS self
|
||||
-- @return Tasking.CommandCenter#COMMANDCENTER
|
||||
function FSM_PROCESS:GetCommandCenter()
|
||||
|
||||
return self:GetTask():GetMission():GetCommandCenter()
|
||||
end
|
||||
|
||||
--- Send a message of the @{Task} to the Group of the Unit.
|
||||
-- @param #FSM_PROCESS self
|
||||
function FSM_PROCESS:Message( Message )
|
||||
self:F( { Message = Message } )
|
||||
|
||||
local CC = self:GetCommandCenter()
|
||||
local TaskGroup = self.Controllable:GetGroup()
|
||||
|
||||
CC:MessageToGroup( Message, TaskGroup )
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
--- Assign the process to a @{Unit} and activate the process.
|
||||
-- @param #FSM_PROCESS self
|
||||
@ -636,7 +657,7 @@ do -- FSM_PROCESS
|
||||
self:E( { ProcessUnit, Event, From, To, Dummy, self:IsTrace() } )
|
||||
|
||||
if self:IsTrace() then
|
||||
MESSAGE:New( "Process " .. self:GetClassNameAndID() .. " : " .. Event .. " changed to state " .. To, 15 ):ToAll()
|
||||
MESSAGE:New( "@ Process " .. self:GetClassNameAndID() .. " : " .. Event .. " changed to state " .. To, 2 ):ToAll()
|
||||
end
|
||||
|
||||
self:E( self.Scores[To] )
|
||||
|
||||
@ -204,7 +204,7 @@ do -- FSM_ACCOUNT_DEADS
|
||||
--- Process Events
|
||||
|
||||
--- StateMachine callback function
|
||||
-- @param #FSM_ASSIGN_MENU_ACCEPT self
|
||||
-- @param #FSM_ACCOUNT_DEADS self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit
|
||||
-- @param #string Event
|
||||
-- @param #string From
|
||||
@ -212,13 +212,12 @@ do -- FSM_ACCOUNT_DEADS
|
||||
function FSM_ACCOUNT_DEADS:onenterReport( ProcessUnit, Event, From, To )
|
||||
self:E( { ProcessUnit, Event, From, To } )
|
||||
|
||||
local TaskGroup = ProcessUnit:GetGroup()
|
||||
MESSAGE:New( "Your group with assigned " .. self.TaskName .. " task has " .. self.TargetSetUnit:GetUnitTypesText() .. " targets left to be destroyed.", 5, "HQ" ):ToGroup( TaskGroup )
|
||||
self:Message( "Your group with assigned " .. self.TaskName .. " task has " .. self.TargetSetUnit:GetUnitTypesText() .. " targets left to be destroyed." )
|
||||
end
|
||||
|
||||
|
||||
--- StateMachine callback function
|
||||
-- @param #FSM_ASSIGN_MENU_ACCEPT self
|
||||
-- @param #FSM_ACCOUNT_DEADS self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit
|
||||
-- @param #string Event
|
||||
-- @param #string From
|
||||
@ -233,12 +232,12 @@ do -- FSM_ACCOUNT_DEADS
|
||||
if self.TargetSetUnit:FindUnit( EventData.IniUnitName ) then
|
||||
local TaskGroup = ProcessUnit:GetGroup()
|
||||
self.TargetSetUnit:RemoveUnitsByName( EventData.IniUnitName )
|
||||
MESSAGE:New( "You hit a target. Your group with assigned " .. self.TaskName .. " task has " .. self.TargetSetUnit:Count() .. " targets ( " .. self.TargetSetUnit:GetUnitTypesText() .. " ) left to be destroyed.", 15, "HQ" ):ToGroup( TaskGroup )
|
||||
self:Message( "You hit a target. Your group with assigned " .. self.TaskName .. " task has " .. self.TargetSetUnit:Count() .. " targets ( " .. self.TargetSetUnit:GetUnitTypesText() .. " ) left to be destroyed." )
|
||||
end
|
||||
end
|
||||
|
||||
--- StateMachine callback function
|
||||
-- @param #FSM_ASSIGN_MENU_ACCEPT self
|
||||
-- @param #FSM_ACCOUNT_DEADS self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit
|
||||
-- @param #string Event
|
||||
-- @param #string From
|
||||
|
||||
@ -81,7 +81,7 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName )
|
||||
local PlayerUnit = EventData.IniUnit
|
||||
for MissionID, Mission in pairs( self:GetMissions() ) do
|
||||
local Mission = Mission -- Tasking.Mission#MISSION
|
||||
Mission:AddUnit( PlayerUnit )
|
||||
Mission:JoinUnit( PlayerUnit )
|
||||
Mission:ReportDetails()
|
||||
end
|
||||
|
||||
@ -100,7 +100,7 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName )
|
||||
local PlayerUnit = EventData.IniUnit
|
||||
for MissionID, Mission in pairs( self:GetMissions() ) do
|
||||
local Mission = Mission -- Tasking.Mission#MISSION
|
||||
Mission:AddUnit( PlayerUnit )
|
||||
Mission:JoinUnit( PlayerUnit )
|
||||
Mission:ReportDetails()
|
||||
end
|
||||
end
|
||||
|
||||
@ -104,13 +104,14 @@ end
|
||||
-- @param #MISSION self
|
||||
-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player joining the Mission.
|
||||
-- @return #boolean true if Unit is part of a Task in the Mission.
|
||||
function MISSION:AddUnit( PlayerUnit )
|
||||
function MISSION:JoinUnit( PlayerUnit )
|
||||
self:F( { PlayerUnit = PlayerUnit } )
|
||||
|
||||
local PlayerUnitAdded = false
|
||||
|
||||
for TaskID, Task in pairs( self:GetTasks() ) do
|
||||
if Task:AddUnit( PlayerUnit ) then
|
||||
local Task = Task -- Tasking.Task#TASK_BASE
|
||||
if Task:JoinUnit( PlayerUnit ) then
|
||||
PlayerUnitAdded = true
|
||||
end
|
||||
end
|
||||
|
||||
@ -235,7 +235,7 @@ end
|
||||
-- @param #TASK_BASE self
|
||||
-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player joining the Mission.
|
||||
-- @return #boolean true if Unit is part of the Task.
|
||||
function TASK_BASE:AddUnit( PlayerUnit )
|
||||
function TASK_BASE:JoinUnit( PlayerUnit )
|
||||
self:F( { PlayerUnit = PlayerUnit } )
|
||||
|
||||
local PlayerUnitAdded = false
|
||||
@ -394,6 +394,7 @@ end
|
||||
-- @return #boolean
|
||||
function TASK_BASE:HasGroup( FindGroup )
|
||||
|
||||
self:GetGroups():FilterOnce() -- Ensure that the filter is updated.
|
||||
return self:GetGroups():IsIncludeObject( FindGroup )
|
||||
|
||||
end
|
||||
@ -442,6 +443,7 @@ function TASK_BASE:MessageToGroups( Message )
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--- Send the briefng message of the @{Task} to the assigned @{Group}s.
|
||||
-- @param #TASK_BASE self
|
||||
function TASK_BASE:SendBriefingToAssignedGroups()
|
||||
@ -525,6 +527,7 @@ function TASK_BASE:SetMenu()
|
||||
|
||||
self.SetGroup:Flush()
|
||||
for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do
|
||||
self:RemoveMenuForGroup( TaskGroup )
|
||||
if self:IsStatePlanned() or self:IsStateReplanned() then
|
||||
self:SetMenuForGroup( TaskGroup )
|
||||
end
|
||||
@ -928,7 +931,7 @@ end
|
||||
function TASK_BASE:onstatechange( Event, From, To )
|
||||
|
||||
if self:IsTrace() then
|
||||
MESSAGE:New( "Task " .. self.TaskName .. " : " .. Event .. " changed to state " .. To, 15 ):ToAll()
|
||||
MESSAGE:New( "@ Task " .. self.TaskName .. " : " .. Event .. " changed to state " .. To, 2 ):ToAll()
|
||||
end
|
||||
|
||||
if self.Scores[To] then
|
||||
|
||||
@ -239,7 +239,7 @@ end
|
||||
|
||||
--- @param #CLIENT self
|
||||
function CLIENT:_AliveCheckScheduler( SchedulerName )
|
||||
self:F( { SchedulerName, self.ClientName, self.ClientAlive2, self.ClientBriefingShown, self.ClientCallBack } )
|
||||
self:F3( { SchedulerName, self.ClientName, self.ClientAlive2, self.ClientBriefingShown, self.ClientCallBack } )
|
||||
|
||||
if self:IsAlive() then
|
||||
if self.ClientAlive2 == false then
|
||||
|
||||
@ -64,7 +64,7 @@ end
|
||||
-- @return #boolean true if Identifiable is alive.
|
||||
-- @return #nil The DCS Identifiable is not existing or alive.
|
||||
function IDENTIFIABLE:IsAlive()
|
||||
self:F2( self.IdentifiableName )
|
||||
self:F3( self.IdentifiableName )
|
||||
|
||||
local DCSIdentifiable = self:GetDCSObject()
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -185,11 +185,10 @@ local TaskSEAD2 = TASK_BASE:New( Mission, SEADSet, "SEAD Radars Vector 2", "SEAD
|
||||
TaskSEAD2:SetUnitProcess( SEADTask:GetUnitProcess():Copy() )
|
||||
Mission:AddTask( TaskSEAD2 )
|
||||
|
||||
Mission:RemoveTask(SEADTask)
|
||||
Mission:RemoveTask( SEADTask )
|
||||
|
||||
SEADTask = nil
|
||||
SEADProcess = nil
|
||||
|
||||
|
||||
|
||||
collectgarbage()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user