Code review

This commit is contained in:
PlayeRom
2022-08-16 13:20:33 +02:00
parent cee3f44622
commit 267b231d8c
2 changed files with 31 additions and 25 deletions
+8 -7
View File
@@ -12,11 +12,12 @@
#
# Constants
#
var addon = addons.getAddon("org.flightgear.addons.Aerotow");
var ADDON = addons.getAddon("org.flightgear.addons.Aerotow");
var ADDON_NODE_PATH = ADDON.node.getPath();
var FILENAME_SCENARIO = "aerotown-addon.xml";
var FILENAME_FLIGHTPLAN = "aerotown-addon-flightplan.xml";
var PATH_SCENARIO = addon.storagePath ~ "/" ~ FILENAME_SCENARIO;
var PATH_FLIGHTPLAN = addon.storagePath ~ "/AI/FlightPlans/" ~ FILENAME_FLIGHTPLAN;
var PATH_SCENARIO = ADDON.storagePath ~ "/" ~ FILENAME_SCENARIO;
var PATH_FLIGHTPLAN = ADDON.storagePath ~ "/AI/FlightPlans/" ~ FILENAME_FLIGHTPLAN;
var SCENARIO_ID = "aerotow_addon";
var SCENARIO_NAME = "Aerotow Add-on";
var SCENARIO_DESC = "This scenario starts the towing plane at the airport where the pilot with the glider is located. Use Ctrl-o to hook the plane.";
@@ -30,14 +31,14 @@ var g_fpFileHandler = nil; # Handler for wrire flight plan to file
var g_coord = nil; # Coordinates for flight plan
var g_heading = nil; # AI plane heading
var g_altitude = nil; # AI plane altitude
var g_listeners = [];
var g_towListeners = [];
#
# Initialize thermal module
#
var init = func () {
# Listener for ai-model property triggered when the user select a tow aircraft from add-on menu
append(g_listeners, setlistener(addon.node.getPath() ~ "/addon-devel/ai-model", func () {
append(g_towListeners, setlistener(ADDON_NODE_PATH ~ "/addon-devel/ai-model", func () {
startAerotow();
}));
}
@@ -46,7 +47,7 @@ var init = func () {
# Uninitialize thermal module
#
var uninit = func () {
foreach (var listener; g_listeners) {
foreach (var listener; g_towListeners) {
removelistener(listener);
}
}
@@ -172,7 +173,7 @@ var isScenarioAdded = func () {
# Return name of selected aircraft. Possible values: "Cub", "DR400", "c182".
#
var getSelectedAircraft = func () {
return getprop(addon.node.getPath() ~ "/addon-devel/ai-model") or "Cub";
return getprop(ADDON_NODE_PATH ~ "/addon-devel/ai-model") or "Cub";
}
#
+23 -18
View File
@@ -12,7 +12,8 @@
#
# Constants
#
var addon = addons.getAddon("org.flightgear.addons.Aerotow");
var ADDON = addons.getAddon("org.flightgear.addons.Aerotow");
var ADDON_NODE_PATH = ADDON.node.getPath();
#
# Variables
@@ -23,31 +24,35 @@ var g_thermalListeners = [];
# Initialize thermal module
#
var init = func () {
append(g_thermalListeners, setlistener(addon.node.getPath() ~ "/addon-devel/add-thermal/distance-m", func () {
# Listener for calculate distance from meters to nautical miles.
append(g_thermalListeners, setlistener(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/distance-m", func () {
setprop(
addon.node.getPath() ~ "/addon-devel/add-thermal/distance-nm",
getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/distance-m") * globals.M2NM
ADDON_NODE_PATH ~ "/addon-devel/add-thermal/distance-nm",
getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/distance-m") * globals.M2NM
);
}));
append(g_thermalListeners, setlistener(addon.node.getPath() ~ "/addon-devel/add-thermal/strength-fps", func () {
# Listener for calculate strength from ft/s to m/s.
append(g_thermalListeners, setlistener(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/strength-fps", func () {
setprop(
addon.node.getPath() ~ "/addon-devel/add-thermal/strength-mps",
getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/strength-fps") * globals.FPS2KT * globals.KT2MPS
ADDON_NODE_PATH ~ "/addon-devel/add-thermal/strength-mps",
getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/strength-fps") * globals.FPS2KT * globals.KT2MPS
);
}));
append(g_thermalListeners, setlistener(addon.node.getPath() ~ "/addon-devel/add-thermal/diameter-ft", func () {
# Listener for calculate diameter from ft to m.
append(g_thermalListeners, setlistener(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/diameter-ft", func () {
setprop(
addon.node.getPath() ~ "/addon-devel/add-thermal/diameter-m",
getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/diameter-ft") * globals.FT2M
ADDON_NODE_PATH ~ "/addon-devel/add-thermal/diameter-m",
getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/diameter-ft") * globals.FT2M
);
}));
append(g_thermalListeners, setlistener(addon.node.getPath() ~ "/addon-devel/add-thermal/height-msl", func () {
# Listener for calculate height from ft to m.
append(g_thermalListeners, setlistener(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/height-msl", func () {
setprop(
addon.node.getPath() ~ "/addon-devel/add-thermal/height-msl-m",
getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/height-msl") * globals.FT2M
ADDON_NODE_PATH ~ "/addon-devel/add-thermal/height-msl-m",
getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/height-msl") * globals.FT2M
);
}));
}
@@ -68,12 +73,12 @@ var uninit = func () {
#
var add = func () {
var heading = getprop("/orientation/heading-deg") or 0;
var distance = getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/distance-m") or 300;
var distance = getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/distance-m") or 300;
var position = geo.aircraft_position();
position.apply_course_distance(heading, distance);
# Get random layer from 1 do 4
# Get random layer from 1 to 4
var layer = int(rand() * 4) + 1;
var args = props.Node.new({
@@ -81,9 +86,9 @@ var add = func () {
"model": "Models/Weather/altocumulus_layer" ~ layer ~ ".xml",
"latitude": position.lat(),
"longitude": position.lon(),
"strength-fps": getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/strength-fps") or 16.0,
"diameter-ft": getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/diameter-ft") or 4000,
"height-msl": getprop(addon.node.getPath() ~ "/addon-devel/add-thermal/height-msl") or 9000,
"strength-fps": getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/strength-fps") or 16.0,
"diameter-ft": getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/diameter-ft") or 4000,
"height-msl": getprop(ADDON_NODE_PATH ~ "/addon-devel/add-thermal/height-msl") or 9000,
"search-order": "DATA_ONLY"
});