- Added getExistingPreviewWindowForDebuggerId to the import.
- Added a focus loop after the reload messages are sent (after line 342) — after the hotReload or hardReload signal is dispatched to each preview window, the code now iterates through all preview windows and calls .focus() on each one, bringing them to the front. The try/catch handles the rare cases where the browser blocks the focus (consistent with the existing pattern used when windows are first opened).
- For advanced use cases where it's important to run events on each instance of an object with an ordering, the For Each can now have an ordering: an expression can be written and will be evaluated for each instance separately. The For Each will then execute for each instance in the order of the result of the expression.
- It's possible to change the direction (ascending or descending)
- It's also possible to give a limit (for example, 1 will allow to pick just the instance with the highest/lowest value for the expression).
- Examples are provided in the UI for common use cases (maximum value of a variable, health points, ammo, distance to another object...)
- Also fix generated code for events (and Else) not working with 'use strict' (only show in developer changelog)
- Also improve the UI to not show horizontal bars for disabled events and comments
- "For Each Child Variable" now also properly support choosing local variables for the variable to iterate on, and for the variable where to store the child and the optional variable where to store the name.
- The loop counter starts from 0 and is automatically increased by 1 each time the event is repeated.
* For now, this is limited to instances inside custom objects. This will be made available in the future for all instances in scenes if this works well.
* This is not finished yet:
- Documentation needs to be written.
- Menu item (and shortcut?) to quickly toggle between a standard event and a else event must be added so it's easy to switch from one to the other.
- Design must be adapted to make it clearer that the else event is "linked" to the previous one and is not run if the previous event is run.
* This was previously causing issues of GDevelop being stuck trying to log in, opening a new window should now open a completely different GDevelop that can be autonomous. (useful to open multiple projects at the same time for instance)
- Extensions, behaviors and objects lists now follow the same layout
- Assets are suggested for most custom objects provided by extensions
- Also fix private objects not appearing in the list from within the
extension
* Typically, when resources are downloaded from a CDN, then sometimes, for
various reasons, a request for a resource may fail. In such cases, it’s
very useful to have retry for avoiding intermittent issues.
* When adding a new object type, the hot reload could break if a
previous hot reload was done without the script files (typically, when
adding an object from an already used type)
* When adding a new object or anything needing a loading screen, the
loading screen and the in-game editor were fighting for the rendering.
* Also fix issues when adding multiple objects from a pack