This commit is contained in:
Frank
2020-01-23 16:57:15 +01:00
parent 37d2602f2d
commit d5cdb9ec34
2 changed files with 57 additions and 18 deletions
+50 -15
View File
@@ -1133,32 +1133,67 @@ function FLIGHTCONTROL:_CreatePlayerMenu(flight, atcmenu)
local rootmenu=atcmenu[airbasename].root --Core.Menu#MENU_GROUP_DELAYED local rootmenu=atcmenu[airbasename].root --Core.Menu#MENU_GROUP_DELAYED
-- Commands -- Some info.
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Info", rootmenu, self._PlayerRequestInfo, self, groupname):SetTime(Tnow):SetTag(Tag) local infomenu=MENU_GROUP_DELAYED:New(group, "Info", rootmenu):SetTime(Tnow):SetTag(Tag)
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Info", infomenu, self._PlayerRequestInfo, self, groupname):SetTime(Tnow):SetTag(Tag)
-- Root Commands
if flight.flightcontrol and flight.flightcontrol.airbasename==self.airbasename then if flight.flightcontrol and flight.flightcontrol.airbasename==self.airbasename then
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Taxi", rootmenu, self._PlayerRequestTaxi, self, groupname):SetTime(Tnow):SetTag(Tag) if flight:IsParking() then
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Takeoff", rootmenu, self._PlayerRequestTakeoff, self, groupname):SetTime(Tnow):SetTag(Tag) MENU_GROUP_COMMAND_DELAYED:New(group, "Request Taxi", rootmenu, self._PlayerRequestTaxi, self, groupname):SetTime(Tnow):SetTag(Tag)
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Parking", rootmenu, self._PlayerRequestParking, self, groupname):SetTime(Tnow):SetTag(Tag) elseif flight:IsTaxiing() then
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Takeoff", rootmenu, self._PlayerRequestTakeoff, self, groupname):SetTime(Tnow):SetTag(Tag)
MENU_GROUP_COMMAND_DELAYED:New(group, "Abort Takeoff", rootmenu, self._PlayerAbortTakeoff, self, groupname):SetTime(Tnow):SetTag(Tag)
elseif flight:IsAirborne() then
end
if flight:IsLanding() or flight:IsLanded() then
MENU_GROUP_COMMAND_DELAYED:New(group, "Request Parking", rootmenu, self._PlayerRequestParking, self, groupname):SetTime(Tnow):SetTag(Tag)
end
else
if flight:IsAirborne() then
MENU_GROUP_COMMAND_DELAYED:New(group, "Inbound", rootmenu, self._PlayerInbound, self, groupname):SetTime(Tnow):SetTag(Tag)
end
end end
MENU_GROUP_COMMAND_DELAYED:New(group, "Inbound", rootmenu, self._PlayerInbound, self, groupname):SetTime(Tnow):SetTag(Tag)
if flight.flightcontrol and flight.flightcontrol.airbasename==self.airbasename then if flight.flightcontrol and flight.flightcontrol.airbasename==self.airbasename then
MENU_GROUP_COMMAND_DELAYED:New(group, "My Status", rootmenu, self._PlayerMyStatus, self, groupname):SetTime(Tnow):SetTag(Tag) MENU_GROUP_COMMAND_DELAYED:New(group, "My Status", rootmenu, self._PlayerMyStatus, self, groupname):SetTime(Tnow):SetTag(Tag)
end end
-- Reset the menu.
rootmenu:Remove(Tnow, Tag) rootmenu:Remove(Tnow, Tag)
rootmenu:Set() rootmenu:Set()
--[[
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].RequestParking = MENU_GROUP_COMMAND:New(group, "Request Parking", atcmenu[airbasename].root, self._PlayerRequestParking, self, groupname)
atcmenu[airbasename].Inbound = MENU_GROUP_COMMAND:New(group, "Inbound", atcmenu[airbasename].root, self._PlayerInbound, self, groupname)
]]
end end
--- Create player menu. --- Player menu request info.
-- @param #FLIGHTCONTROL self
-- @param #string groupname Name of the flight group.
function FLIGHTCONTROL:_PlayerRequestParking(groupname)
-- Get flight group.
local flight=_DATABASE:GetFlightGroup(groupname)
if flight then
local group=flight:GetGroup()
local coord=flight:GetGroup():GetCoordinate()
local spotcoord, TerminalID, _spot=coord:GetClosestParkingSpot(self.airbase, AIRBASE.TerminalType.FighterAircraft, true)
local spot=_spot --Wrapper.Airbase#AIRBASE.ParkingSpot
spot.markID=spot.Coordinate:MarkToGroup("Your assigned parking spot!", group)
local element=flight.elements[1] --Ops.FlightGroup#FLIGHTGROUP.Element
element.parking=spot
end
end
--- Player menu request info.
-- @param #FLIGHTCONTROL self -- @param #FLIGHTCONTROL self
-- @param #string groupname Name of the flight group. -- @param #string groupname Name of the flight group.
function FLIGHTCONTROL:_PlayerRequestInfo(groupname) function FLIGHTCONTROL:_PlayerRequestInfo(groupname)
+6 -2
View File
@@ -270,16 +270,20 @@ FLIGHTGROUP.version="0.2.2"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- DONE: Add tasks. -- DONE: Add tasks.
-- TODO: Add EPLRS, TACAN. -- DONE: Waypoints, read, add, insert, detour.
-- DONE: Get ammo. -- DONE: Get ammo.
-- DONE: Get pylons. -- DONE: Get pylons.
-- DONE: Fuel threshhold ==> RTB. -- DONE: Fuel threshhold ==> RTB.
-- TODO: ROE, Afterburner restrict. -- TODO: ROE, Afterburner restrict.
-- TODO: Add EPLRS, TACAN.
-- TODO: Respawn? With correct loadout, fuelstate. -- TODO: Respawn? With correct loadout, fuelstate.
-- TODO: Waypoints, read, add, insert, detour.
-- TODO: Damage? -- TODO: Damage?
-- TODO: shot events? -- TODO: shot events?
-- TODO: Marks to add waypoints/tasks on-the-fly. -- TODO: Marks to add waypoints/tasks on-the-fly.
-- TODO: Mark assigned parking spot on F10 map.
-- TODO: Let user request a parking spot via F10 marker :)
-- TODO: Get proper monitoring of parking spots! Try to avoid scan and getParking as much as possible for performance reasons.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Constructor -- Constructor