diff --git a/Moose Development/Moose/Ops/FlightControl.lua b/Moose Development/Moose/Ops/FlightControl.lua index 3182a5ec3..bbb2961af 100644 --- a/Moose Development/Moose/Ops/FlightControl.lua +++ b/Moose Development/Moose/Ops/FlightControl.lua @@ -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 diff --git a/Moose Development/Moose/Ops/FlightGroup.lua b/Moose Development/Moose/Ops/FlightGroup.lua index dc172ccde..f42afaf3e 100644 --- a/Moose Development/Moose/Ops/FlightGroup.lua +++ b/Moose Development/Moose/Ops/FlightGroup.lua @@ -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