This commit is contained in:
Frank
2020-01-15 22:58:25 +01:00
parent c661491772
commit d9bfc65862
2 changed files with 18 additions and 40 deletions
+11 -16
View File
@@ -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
+7 -24
View File
@@ -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
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------