The script editor is really nice for editing complex missions, but there are some missing features that slow down development. Sometimes you have to manually edit the .xml because something is not yet possible in the script editor. I hope this list of problems and suggestions might be helpful to get an idea of what has to be improved.
1. Add missing nodes
You can't add all nodes with the script editor, because not all objects are categorized. The can be added by simply fixing the categorization. Here is a suggestion for a new categorization that has all possible nodes:
Script editor categorization.txt
2. Add button to change order of ObjectReferences
The order ObjectReferences are listed in the .xml can be important, for example in an ActionQueue. Right now we can't change the order with the script editor. Please add a button to change the order, like this:
3. Allow us to add multiple instances of a child object
Some objects can have multiple child objects, but for some objects you can only add one instance with the script editor. This happens at least in these objects:
- TimedAction in TimelineAction
- CalculatorAction in CalculatorActions in Calculator
- parameters in CalculatorParameterList in Calculator
- PlayListItem in PlayListAction
- AltitudeSample in RaceAltitudeSamples in RaceCourse
- RunwayFilter in AirportLandingTrigger
- MenuItem in MenuPromptTrigger
- ObjectNodeReference in ObjectNodes in NodeDistanceTrigger
- CameraBehaviour in CameraBehaviours in RTCShot
They should behave like these objects, where you get a button to add more instances:
4. Fix the naming of nodes in the overview window.
You can add a name for most nodes with the Id property, but not all nodes have this property. This means that some nodes can't be named, which can be confusing:
In the past, the Descr property was used for the name. Maybe you should go back to that system, or add the Id property to all nodes.
5. Remove useless FSX 'compatibility'.
Some things in the missions script were changed from FSX to MSFS, such as WorldPosition, Orientation, AltitudeIsAGL, and IsOnGround being grouped as a child object, AttachedWorldPosition. But the node still contains the old properties, which can be quite confusing. It also doesn't seem necessary for compatibility, because the old way doesn't work anymore. Please remove the old properties to make things clear.
This also goes for Condition, which was replaced by ReversePolishCondition.
6. Make formulas multi-line
In the Calculator object, the CalculatorFormula is only a single line, but for clarity of the code it can be useful to use multiple lines. In PropertyTrigger, the ReversePolishCondition actually uses multiple lines. Can you please add this to the CalculatorFormula and other fields for RPN code as well?
7. Fix nodes readability
When editing my mission in the script editor, I find myself hardly using the visible data in the nodes. I usually just click on the node and use the inspector window. Maybe you can make the node easier to read by separating the data for the child object(s) from the data for the main object:
This way, the nodes are easier to read, more like the inspector view. The nodes also don't show all properties that the inspector view does. Maybe you can add all the properties to the node as well.