mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Updates
This commit is contained in:
parent
376b0d08a5
commit
06b2ba007e
@ -819,7 +819,7 @@ end
|
||||
-- @param #string Message The message text
|
||||
-- @param DCSTypes#Duration Duration The duration of the message.
|
||||
-- @return Message#MESSAGE
|
||||
function GROUP:Message( Message, Duration )
|
||||
function GROUP:GetMessage( Message, Duration )
|
||||
self:F2( { Message, Duration } )
|
||||
|
||||
local DCSGroup = self:GetDCSObject()
|
||||
@ -840,7 +840,7 @@ function GROUP:MessageToAll( Message, Duration )
|
||||
|
||||
local DCSGroup = self:GetDCSObject()
|
||||
if DCSGroup then
|
||||
self:Message( Message, Duration ):ToAll()
|
||||
self:GetMessage( Message, Duration ):ToAll()
|
||||
end
|
||||
|
||||
return nil
|
||||
@ -856,7 +856,7 @@ function GROUP:MessageToRed( Message, Duration )
|
||||
|
||||
local DCSGroup = self:GetDCSObject()
|
||||
if DCSGroup then
|
||||
self:Message( Message, Duration ):ToRed()
|
||||
self:GetMessage( Message, Duration ):ToRed()
|
||||
end
|
||||
|
||||
return nil
|
||||
@ -872,7 +872,7 @@ function GROUP:MessageToBlue( Message, Duration )
|
||||
|
||||
local DCSGroup = self:GetDCSObject()
|
||||
if DCSGroup then
|
||||
self:Message( Message, Duration ):ToBlue()
|
||||
self:GetMessage( Message, Duration ):ToBlue()
|
||||
end
|
||||
|
||||
return nil
|
||||
@ -889,7 +889,23 @@ function GROUP:MessageToClient( Message, Duration, Client )
|
||||
|
||||
local DCSGroup = self:GetDCSObject()
|
||||
if DCSGroup then
|
||||
self:Message( Message, Duration ):ToClient( Client )
|
||||
self:GetMessage( Message, Duration ):ToClient( Client )
|
||||
end
|
||||
|
||||
return nil
|
||||
end
|
||||
|
||||
--- Send a message to the players in the @{Group}.
|
||||
-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message.
|
||||
-- @param #GROUP self
|
||||
-- @param #string Message The message text
|
||||
-- @param DCSTypes#Duration Duration The duration of the message.
|
||||
function GROUP:Message( Message, Duration )
|
||||
self:F2( { Message, Duration } )
|
||||
|
||||
local DCSGroup = self:GetDCSObject()
|
||||
if DCSGroup then
|
||||
self:GetMessage( Message, Duration ):ToGroup( self )
|
||||
end
|
||||
|
||||
return nil
|
||||
|
||||
@ -253,11 +253,11 @@ MENU_COALITION = {
|
||||
|
||||
--- Creates a new coalition menu item
|
||||
-- @param #MENU_COALITION self
|
||||
-- @param DCSCoalition#coalition.side MenuCoalition The coalition owning the menu.
|
||||
-- @param DCSCoalition#coalition.side Coalition The coalition owning the menu.
|
||||
-- @param #string MenuText The text for the menu.
|
||||
-- @param #table ParentMenu The parent menu.
|
||||
-- @return #MENU_COALITION self
|
||||
function MENU_COALITION:New( MenuCoalition, MenuText, ParentMenu )
|
||||
function MENU_COALITION:New( Coalition, MenuText, ParentMenu )
|
||||
|
||||
-- Arrange meta tables
|
||||
local MenuParentPath = {}
|
||||
@ -266,9 +266,9 @@ function MENU_COALITION:New( MenuCoalition, MenuText, ParentMenu )
|
||||
end
|
||||
|
||||
local self = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) )
|
||||
self:F( { MenuCoalition, MenuText, ParentMenu } )
|
||||
self:F( { Coalition, MenuText, ParentMenu } )
|
||||
|
||||
self.MenuCoalition = MenuCoalition
|
||||
self.Coalition = Coalition
|
||||
self.MenuParentPath = MenuParentPath
|
||||
self.MenuText = MenuText
|
||||
self.ParentMenu = ParentMenu
|
||||
@ -277,7 +277,7 @@ function MENU_COALITION:New( MenuCoalition, MenuText, ParentMenu )
|
||||
|
||||
self:T( { MenuParentPath, MenuText } )
|
||||
|
||||
self.MenuPath = missionCommands.addSubMenuForCoalition( self.MenuCoalition, MenuText, MenuParentPath )
|
||||
self.MenuPath = missionCommands.addSubMenuForCoalition( self.Coalition, MenuText, MenuParentPath )
|
||||
|
||||
self:T( { self.MenuPath } )
|
||||
|
||||
|
||||
@ -102,6 +102,21 @@ function MESSAGE:ToClient( Client )
|
||||
return self
|
||||
end
|
||||
|
||||
--- Sends a MESSAGE to a Group.
|
||||
-- @param #MESSAGE self
|
||||
-- @param Group#GROUP Group is the Group.
|
||||
-- @return #MESSAGE
|
||||
function MESSAGE:ToGroup( Group )
|
||||
self:F( Group.GroupName )
|
||||
|
||||
if Group then
|
||||
|
||||
self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration )
|
||||
trigger.action.outTextForGroup( Group:GetID(), self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration )
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
--- Sends a MESSAGE to the Blue coalition.
|
||||
-- @param #MESSAGE self
|
||||
-- @return #MESSAGE
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
--- The TASK2 class
|
||||
-- @type TASK2
|
||||
-- @field Scheduler#SCHEDULER TaskScheduler
|
||||
-- @field Client#CLIENT Client
|
||||
-- @field Unit#UNIT TaskUnit
|
||||
-- @field Mission#MISSION Mission
|
||||
-- @field StateMachine#STATEMACHINE_TASK Fsm
|
||||
-- @extends Base#BASE
|
||||
@ -16,12 +16,13 @@ TASK2 = {
|
||||
|
||||
--- Instantiates a new TASK Base. Should never be used. Interface Class.
|
||||
-- @param #TASK2 self
|
||||
-- @param Unit#UNIT TaskUnit
|
||||
-- @return #TASK2 self
|
||||
function TASK2:New( Mission, Client )
|
||||
function TASK2:New( Mission, TaskUnit )
|
||||
local self = BASE:Inherit( self, BASE:New() )
|
||||
self:F()
|
||||
|
||||
self.Client = Client
|
||||
self.TaskUnit = TaskUnit
|
||||
self.Mission = Mission
|
||||
|
||||
return self
|
||||
@ -31,7 +32,7 @@ end
|
||||
function TASK2:NextEvent( NextEvent, ... )
|
||||
self:E( NextEvent )
|
||||
|
||||
self.TaskScheduler = SCHEDULER:New( self.Fsm, NextEvent, { self, self.Client, unpack( arg ) }, 1 )
|
||||
self.TaskScheduler = SCHEDULER:New( self.Fsm, NextEvent, { self, self.TaskUnit, unpack( arg ) }, 1 )
|
||||
end
|
||||
|
||||
--- Adds a score for the TASK2 to be achieved.
|
||||
@ -56,13 +57,13 @@ end
|
||||
-- @param #string From
|
||||
-- @param #string To
|
||||
function TASK2:OnStateChange( Fsm, Event, From, To )
|
||||
self:E( { Event, From, To, self.Client.ClientName} )
|
||||
self:E( { Event, From, To, self.TaskUnit.UnitName } )
|
||||
|
||||
if self.Scores[To] then
|
||||
self.Client:Message( "Score:" .. self.Scores[To].ScoreText .. " " .. To , 15 )
|
||||
self.Unit:Message( "Score:" .. self.Scores[To].ScoreText .. " " .. To , 15 )
|
||||
local Scoring = self.Mission:GetScoring()
|
||||
if Scoring then
|
||||
Scoring:_AddMissionTaskScore( self.Client, self.Mission:GetName(), self.Scores[To].Score )
|
||||
Scoring:_AddMissionTaskScore( self.TaskUnit, self.Mission:GetName(), self.Scores[To].Score )
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
--- TASK2_MENU_CLIENT class
|
||||
-- @type TASK2_MENU_CLIENT
|
||||
-- @field Client#CLIENT Client
|
||||
-- @field Unit#UNIT TaskUnit
|
||||
-- @field Set#SET_UNIT TargetSet
|
||||
-- @field Menu#MENU_CLIENT_COMMAND MenuSEAD
|
||||
-- @field Menu#MENU_CLIENT_COMMAND MenuTask
|
||||
-- @extends Task2#TASK2
|
||||
TASK2_MENU_CLIENT = {
|
||||
ClassName = "TASK2_MENU_CLIENT",
|
||||
@ -15,13 +15,13 @@ TASK2_MENU_CLIENT = {
|
||||
--- Creates a new MENU handling machine.
|
||||
-- @param #TASK2_MENU_CLIENT self
|
||||
-- @param Mission#MISSION Mission
|
||||
-- @param Client#CLIENT Client
|
||||
-- @param Unit#UNIT TaskUnit
|
||||
-- @param #string MenuText The text of the menu item.
|
||||
-- @return #TASK2_MENU_CLIENT self
|
||||
function TASK2_MENU_CLIENT:New( Mission, Client, MenuText )
|
||||
function TASK2_MENU_CLIENT:New( Mission, TaskUnit, MenuText )
|
||||
|
||||
-- Inherits from BASE
|
||||
local self = BASE:Inherit( self, TASK2:New( Mission, Client ) ) -- #TASK2_MENU_CLIENT
|
||||
local self = BASE:Inherit( self, TASK2:New( Mission, TaskUnit ) ) -- #TASK2_MENU_CLIENT
|
||||
|
||||
self.MenuText = MenuText
|
||||
|
||||
@ -52,11 +52,11 @@ end
|
||||
-- @param #string From
|
||||
-- @param #string To
|
||||
function TASK2_MENU_CLIENT:OnMenu( Fsm, Event, From, To )
|
||||
self:E( { Event, From, To, self.Client.ClientName} )
|
||||
self:E( { Event, From, To, self.TaskUnit.UnitName} )
|
||||
|
||||
self.Client:Message( "Press F10 for task menu", 15 )
|
||||
self.Menu = MENU_CLIENT:New( self.Client, self.Mission:GetName(), nil )
|
||||
self.MenuTask = MENU_CLIENT_COMMAND:New( self.Client, self.MenuText, self.Menu, self.MenuAssign, self )
|
||||
self.TaskUnit:Message( "Press F10 for task menu", 15 )
|
||||
self.Menu = MENU_CLIENT:New( self.TaskUnit, self.Mission:GetName(), nil )
|
||||
self.MenuTask = MENU_CLIENT_COMMAND:New( self.TaskUnit, self.MenuText, self.Menu, self.MenuAssign, self )
|
||||
end
|
||||
|
||||
--- Menu function.
|
||||
@ -64,7 +64,7 @@ end
|
||||
function TASK2_MENU_CLIENT:MenuAssign()
|
||||
self:E( )
|
||||
|
||||
self.Client:Message( "Menu Assign", 15 )
|
||||
self.TaskUnit:Message( "Menu Assign", 15 )
|
||||
|
||||
self:NextEvent( self.Fsm.Assign )
|
||||
end
|
||||
@ -76,9 +76,9 @@ end
|
||||
-- @param #string From
|
||||
-- @param #string To
|
||||
function TASK2_MENU_CLIENT:OnAssign( Fsm, Event, From, To )
|
||||
self:E( { Event, From, To, self.Client.ClientName} )
|
||||
self:E( { Event, From, To, self.TaskUnit.UnitName} )
|
||||
|
||||
self.Client:Message( "Assign Task", 15 )
|
||||
self.TaskUnit:Message( "Assign Task", 15 )
|
||||
self.MenuTask:Remove()
|
||||
end
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
--- TASK2_ROUTE_CLIENT class
|
||||
-- @type TASK2_ROUTE_CLIENT
|
||||
-- @field Mission#MISSION Mission
|
||||
-- @field Client#CLIENT Client
|
||||
-- @field Unit#UNIT TaskUnit
|
||||
-- @field Zone#ZONE_BASE TargetZone
|
||||
-- @extends Task2#TASK2
|
||||
TASK2_ROUTE_CLIENT = {
|
||||
@ -14,12 +14,12 @@ TASK2_ROUTE_CLIENT = {
|
||||
--- Creates a new routing state machine. The task will route a CLIENT to a ZONE until the CLIENT is within that ZONE.
|
||||
-- @param #TASK2_ROUTE_CLIENT self
|
||||
-- @param Mission#MISSION Mission
|
||||
-- @param Client#CLIENT Client
|
||||
-- @param Unit#UNIT Unit
|
||||
-- @return #TASK2_ROUTE_CLIENT self
|
||||
function TASK2_ROUTE_CLIENT:New( Mission, Client, TargetZone )
|
||||
function TASK2_ROUTE_CLIENT:New( Mission, TaskUnit, TargetZone )
|
||||
|
||||
-- Inherits from BASE
|
||||
local self = BASE:Inherit( self, TASK2:New( Mission, Client ) ) -- #TASK2_ROUTE_CLIENT
|
||||
local self = BASE:Inherit( self, TASK2:New( Mission, TaskUnit ) ) -- #TASK2_ROUTE_CLIENT
|
||||
|
||||
self.TargetZone = TargetZone
|
||||
self.DisplayInterval = 30
|
||||
@ -55,18 +55,18 @@ end
|
||||
-- @param #string From
|
||||
-- @param #string To
|
||||
function TASK2_ROUTE_CLIENT:OnLeaveUnArrived( Fsm, Event, From, To )
|
||||
self:E( { Event, From, To, self.Client.ClientName } )
|
||||
self:E( { Event, From, To, self.TaskUnit.UnitName } )
|
||||
|
||||
local IsInZone = self.Client:IsInZone( self.TargetZone )
|
||||
local IsInZone = self.TaskUnit:IsInZone( self.TargetZone )
|
||||
|
||||
if self.DisplayCount >= self.DisplayInterval then
|
||||
if not IsInZone then
|
||||
local ZoneVec2 = self.TargetZone:GetVec2()
|
||||
local ZonePointVec2 = POINT_VEC2:New( ZoneVec2.x, ZoneVec2.y )
|
||||
local ClientVec2 = self.Client:GetVec2()
|
||||
local ClientPointVec2 = POINT_VEC2:New( ClientVec2.x, ClientVec2.y )
|
||||
local RouteText = ClientPointVec2:GetBRText( ZonePointVec2 )
|
||||
self.Client:Message( RouteText, self.DisplayTime, self.DisplayCategory )
|
||||
local TaskUnitVec2 = self.TaskUnit:GetVec2()
|
||||
local TaskUnitPointVec2 = POINT_VEC2:New( TaskUnitVec2.x, TaskUnitVec2.y )
|
||||
local RouteText = TaskUnitPointVec2:GetBRText( ZonePointVec2 )
|
||||
self.TaskUnit:Message( RouteText, self.DisplayTime, self.DisplayCategory )
|
||||
end
|
||||
self.DisplayCount = 1
|
||||
else
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
--- TASK2_SEAD_CLIENT class
|
||||
-- @type TASK2_SEAD_CLIENT
|
||||
-- @field Client#CLIENT Client
|
||||
-- @field Unit#UNIT TaskUnit
|
||||
-- @field Set#SET_UNIT TargetSet
|
||||
-- @field Menu#MENU_CLIENT_COMMAND MenuSEAD
|
||||
-- @extends Task2#TASK2
|
||||
@ -16,13 +16,13 @@ TASK2_SEAD_CLIENT = {
|
||||
--- Creates a new SEAD task.
|
||||
-- @param #TASK2_SEAD_CLIENT self
|
||||
-- @param Mission#MISSION Mission
|
||||
-- @param Client#CLIENT Client
|
||||
-- @param Unit#UNIT TaskUnit
|
||||
-- @param Set#SET_UNIT TargetSet
|
||||
-- @return #TASK2_SEAD_CLIENT self
|
||||
function TASK2_SEAD_CLIENT:New( Mission, Client, TargetSet )
|
||||
function TASK2_SEAD_CLIENT:New( Mission, TaskUnit, TargetSet )
|
||||
|
||||
-- Inherits from BASE
|
||||
local self = BASE:Inherit( self, TASK2:New( Mission, Client ) ) -- #TASK2_SEAD_CLIENT
|
||||
local self = BASE:Inherit( self, TASK2:New( Mission, TaskUnit ) ) -- #TASK2_SEAD_CLIENT
|
||||
|
||||
self.TargetSet = TargetSet
|
||||
|
||||
@ -64,9 +64,9 @@ end
|
||||
-- @param #string From
|
||||
-- @param #string To
|
||||
function TASK2_SEAD_CLIENT:OnAwait( Fsm, Event, From, To )
|
||||
self:E( { Event, From, To, self.Client.ClientName} )
|
||||
self:E( { Event, From, To, self.TaskUnit.UnitName} )
|
||||
|
||||
self.Client:Message( "Waiting", 15 )
|
||||
self.TaskUnit:Message( "Waiting", 15 )
|
||||
self:NextEvent( Fsm.Await )
|
||||
end
|
||||
|
||||
@ -79,7 +79,7 @@ end
|
||||
-- @param Event#EVENTDATA Event
|
||||
function TASK2_SEAD_CLIENT:OnHitTarget( Fsm, Event, From, To, Event )
|
||||
|
||||
self.Client:Message( "Hit Target", 15 )
|
||||
self.TaskUnit:Message( "Hit Target", 15 )
|
||||
if self.TargetSet:Count() > 0 then
|
||||
self:NextEvent( Fsm.MoreTargets )
|
||||
else
|
||||
@ -95,7 +95,7 @@ end
|
||||
-- @param #string To
|
||||
function TASK2_SEAD_CLIENT:OnMoreTargets( Fsm, Event, From, To )
|
||||
|
||||
self.Client:Message( "More Targets", 15 )
|
||||
self.TaskUnit:Message( "More Targets", 15 )
|
||||
|
||||
end
|
||||
|
||||
@ -108,7 +108,7 @@ end
|
||||
-- @param Event#EVENTDATA DCSEvent
|
||||
function TASK2_SEAD_CLIENT:OnKilled( Fsm, Event, From, To )
|
||||
|
||||
self.Client:Message( "Player got killed", 15 )
|
||||
self.TaskUnit:Message( "Player got killed", 15 )
|
||||
self:NextEvent( Fsm.Restart )
|
||||
|
||||
end
|
||||
@ -121,7 +121,7 @@ end
|
||||
-- @param #string To
|
||||
function TASK2_SEAD_CLIENT:OnRestart( Fsm, Event, From, To )
|
||||
|
||||
self.Client:Message( "Restart SEAD Task", 15 )
|
||||
self.TaskUnit:Message( "Restart SEAD Task", 15 )
|
||||
self:NextEvent( Fsm.Menu )
|
||||
|
||||
end
|
||||
@ -134,7 +134,7 @@ end
|
||||
-- @param #string To
|
||||
function TASK2_SEAD_CLIENT:OnDestroyed( Fsm, Event, From, To )
|
||||
|
||||
self.Client:Message( "Destroyed", 15 )
|
||||
self.TaskUnit:Message( "Destroyed", 15 )
|
||||
|
||||
end
|
||||
|
||||
@ -154,7 +154,7 @@ end
|
||||
function TASK2_SEAD_CLIENT:EventKilled( Event )
|
||||
|
||||
if Event.IniUnit then
|
||||
if Event.IniUnitName == self.Client.ClientName then
|
||||
if Event.IniUnitName == self.TaskUnit.UnitName then
|
||||
self:NextEvent( self.Fsm.Killed, Event )
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user