Code review
This commit is contained in:
+8
-7
@@ -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
@@ -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"
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user