277
edits
mNo edit summary  | 
				|||
| Line 25: | Line 25: | ||
''FGNasalSys::addModule()'' in turn creates property nodes for each file like ''/nasal/<moduleName>/file[i] = <filename>''  | ''FGNasalSys::addModule()'' in turn creates property nodes for each file like ''/nasal/<moduleName>/file[i] = <filename>''  | ||
{{caution|  | {{caution| For each subdirectory there SHALL be an entry in FGDATA/defaults.xml defining the default state of the module. }}  | ||
For each subdirectory there SHALL be an entry in FGDATA/defaults.xml defining the default state of the module. }}  | |||
{{warning|  | {{warning| At the time of writing addModule() creates ''/nasal/<moduleName>/enabled'' and sets it to ''true'' if it was not defined in defaults.xml. This is about to be corrected.}}  | ||
At the time of writing  | |||
This is about to be corrected }}  | |||
init() continues, sets the property ''/sim/signal/nasal-dir-initialized'' to true   | init() continues, sets the property ''/sim/signal/nasal-dir-initialized'' to true which will trigger listeners in some of the previously loaded Nasal files.  | ||
''FGNasalSys::loadPropertyScripts()'' checks ''/nasal/<moduleName>/enabled''. If   | Next it calls ''FGNasalSys::loadPropertyScripts()'' which checks all the ''/nasal/<moduleName>/enabled'' nodes. If true, the files will be loaded by calling ''FGNasalSys::loadModule()'' which in turn calls ''FGNasalSys::createModule()''.    | ||
Otherwise a listener is added that will load the module when enabled is set to true.  | Otherwise, if enabled is false, a listener is added that will load the module when enabled is set to true.  | ||
{{note|The module name (which defaults to the name of the subdirectory) is also the name of the Nasal name space in which functions and variables will be created.  | |||
If the name space already exists, the module will add to it so you can extend existing libs. But be very careful when overloading existing things, you can easily break things.}}  | |||
= Open questions =  | = Open questions =  | ||
Review the sources to confirm / update this doc.  | Review the sources to confirm / update this doc.  | ||
edits