Mixins: The way I’m imagining it to work is that when you define an entity, you also have the option of defining a component that adds a certain set of properties. Adding that component to an entity definition would add those properties to that entity.
So you have some entities:
- Medkit
- Smart bomb
- Ammo crate
And you have a mixin:
- UsageLimiter
- property: Uses (int)
Now, when you define your entities in the project options, you add the UsageLimiter to the Smart bomb and Ammo crate entities. Now they show up as having that property in the editor, and the level file would look something like this:
<Entities>
<AmmoCrate x="100" y="100" Uses="3" />
<SmartBomb x="200" y="50" Uses="1" />
<Medkit x="75" y="300" />
<Medkit x="300" y="75" />
</Entities>
Previews: You know how a Metroidvania map will often look something like this:
Each of those segments could be designed as a single level, and the game loads them all in and arranges them at runtime based on their layout in an overview level.
So imagine you’ve got one “level” file that you drag the tiny rooms around in, and each room you’re arranging is a real preview of a level you’ve previously built.
Like I said, way out of scope.