mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-12 04:31:09 +00:00
FC&FG
This commit is contained in:
@@ -1006,7 +1006,8 @@ end
|
||||
--- Create player menu.
|
||||
-- @param #FLIGHTCONTROL self
|
||||
-- @param Ops.FlightGroup#FLIGHTGROUP flight Flight group.
|
||||
function FLIGHTCONTROL:_CreatePlayerMenu(flight)
|
||||
-- @param #table atcmenu ATC root menu.
|
||||
function FLIGHTCONTROL:_CreatePlayerMenu(flight, atcmenu)
|
||||
|
||||
local group=flight.group
|
||||
local groupname=flight.groupname
|
||||
@@ -1018,14 +1019,16 @@ function FLIGHTCONTROL:_CreatePlayerMenu(flight)
|
||||
local airbasename=self.airbasename
|
||||
|
||||
--local playermenu=flight.menu.atc --#FLIGHTCONTROL.PlayerMenu
|
||||
local playermenu=flight.menu.atc.root --#FLIGHTCONTROL.PlayerMenu
|
||||
playermenu[airbasename] = playermenu[airbasename] or {}
|
||||
playermenu[airbasename].root = MENU_GROUP:New(group, airbasename, playermenu)
|
||||
|
||||
playermenu[airbasename].MyStatus = MENU_GROUP_COMMAND:New(group, "My Status", playermenu[airbasename].root, self._PlayerMyStatus, self, groupname)
|
||||
playermenu[airbasename].RequestTaxi = MENU_GROUP_COMMAND:New(group, "Request Taxi", playermenu[airbasename].root, self._PlayerRequestTaxi, self, groupname)
|
||||
playermenu[airbasename].RequestTakeoff = MENU_GROUP_COMMAND:New(group, "Request Takeoff", playermenu[airbasename].root, self._PlayerRequestTakeoff, self, groupname)
|
||||
playermenu[airbasename].Inbound = MENU_GROUP_COMMAND:New(group, "Inbound", playermenu[airbasename].root, self._PlayerInbound, self, groupname)
|
||||
local rootmenu=flight.menu.atc.root
|
||||
|
||||
atcmenu[airbasename] = atcmenu[airbasename] or {}
|
||||
atcmenu[airbasename].root = MENU_GROUP:New(group, airbasename, rootmenu)
|
||||
|
||||
atcmenu[airbasename].MyStatus = MENU_GROUP_COMMAND:New(group, "My Status", atcmenu[airbasename].root, self._PlayerMyStatus, self, groupname)
|
||||
atcmenu[airbasename].RequestTaxi = MENU_GROUP_COMMAND:New(group, "Request Taxi", atcmenu[airbasename].root, self._PlayerRequestTaxi, self, groupname)
|
||||
atcmenu[airbasename].RequestTakeoff = MENU_GROUP_COMMAND:New(group, "Request Takeoff", atcmenu[airbasename].root, self._PlayerRequestTakeoff, self, groupname)
|
||||
atcmenu[airbasename].Inbound = MENU_GROUP_COMMAND:New(group, "Inbound", atcmenu[airbasename].root, self._PlayerInbound, self, groupname)
|
||||
|
||||
end
|
||||
|
||||
@@ -1126,14 +1129,6 @@ function FLIGHTCONTROL:_CreateFlightGroup(group)
|
||||
|
||||
-- Add to known flights.
|
||||
table.insert(self.flights, flight)
|
||||
|
||||
-- Create player menu.
|
||||
if flight.ai then
|
||||
self:E("FF AI no player menu")
|
||||
else
|
||||
self:E("FF Not purly AI ==> player menu")
|
||||
--self:_CreatePlayerMenu(flight)
|
||||
end
|
||||
|
||||
return flight
|
||||
end
|
||||
|
||||
@@ -1346,13 +1346,12 @@ function FLIGHTGROUP:onafterFlightSpawned(From, Event, To)
|
||||
self:InitWaypoints()
|
||||
end
|
||||
|
||||
-- F10 menu.
|
||||
if not self.ai then
|
||||
self.menu=self.menu or {}
|
||||
self.menu.atc=self.menu.atc or {}
|
||||
self.menu.atc.root=self.menu.atc.root or MENU_GROUP:New(self.group, "ATC")
|
||||
if self.flightcontrol then
|
||||
--self.flightcontrol:_CreatePlayerMenu(self)
|
||||
end
|
||||
self:_UpdateMenu()
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1731,7 +1730,7 @@ function FLIGHTGROUP:onafterHold(From, Event, To, airbase, SpeedTo, SpeedHold, S
|
||||
MESSAGE:New("Respawning group"):ToAll()
|
||||
|
||||
--Respawn the group.
|
||||
self.group=self.group:Respawn(Template, true)
|
||||
self.group=self.group:Respawn(Template)
|
||||
|
||||
else
|
||||
|
||||
@@ -3628,40 +3627,24 @@ function FLIGHTGROUP:_UpdateMenu()
|
||||
|
||||
end
|
||||
|
||||
-- Sort table wrt to distance
|
||||
-- Sort table wrt distance to airbases.
|
||||
local function _sort(a,b)
|
||||
return a.dist<b.dist
|
||||
end
|
||||
table.sort(fc, _sort)
|
||||
|
||||
--self.menu.atc
|
||||
|
||||
local playermenu=self.menu.atc.root --Ops.FlightControl#FLIGHTCONTROL.PlayerMenu
|
||||
|
||||
playermenu:RemoveSubMenus() --Core.Menu#MENU_GROUP
|
||||
|
||||
for i=1,math.min(#fc,8) do
|
||||
self:_UpdateMenuFlightControl(fc[i])
|
||||
local airbasename=fc[i].airbasename
|
||||
local flightcontrol=_DATABASE:GetFlightControl(airbasename)
|
||||
flightcontrol:_CreatePlayerMenu(self, self.menu.atc)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Get the proper terminal type based on generalized attribute of the group.
|
||||
--@param #FLIGHTGROUP self
|
||||
--@param Ops.FlightControl#FLIGHTCONTROL flightcontrol Flight control object.
|
||||
function FLIGHTGROUP:_UpdateMenuFlightControl(flightcontrol)
|
||||
|
||||
local playermenu=self.menu.atc.root --Ops.FlightControl#FLIGHTCONTROL.PlayerMenu
|
||||
|
||||
|
||||
playermenu[flightcontrol.airbasename]=MENU_GROUP:New(self.group, flightcontrol.airbasename, playermenu)
|
||||
|
||||
MENU_GROUP:New(self.group,MenuText,ParentMenu)
|
||||
|
||||
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user