This commit is contained in:
FlightControl 2016-12-15 14:51:08 +01:00
parent 74cee904cd
commit d62acf421e
12 changed files with 84 additions and 59269 deletions

View File

@ -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]

View File

@ -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] )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()