vortxGE : Level Loading
Here is a little insight into how I work, I always plan out major systems on paper before I ever start coding them, I don't go overboard with tones of detail because this is just off the top of my head. Things may change as I write the code and I make changes to this document as I go. If I don't do this stage I find it takes 10x longer to write the code. This also gives a great reference for later Product documentation.
Level Progression Games
How level loading works
In vortxEDIT, create a LevelLoader control and as many Level controls you need for your game. The loader should hold an lsViewer that displays lsLevel loading progress or whatever you like, as long as the user knows something is loading. A lsLevel control holds a filename of the vortxEDIT Level project to be loaded and a pointer to the lsGame instance needed for the level data. GamePlay controls are created by the game developer and trigger game end, restart and set scores in the lsLevel.
An lsGame control is used to hold the current lsLevel loaded data and gameplay pointer. You only need one lsGame control, the lsLevelLoader should create this control and pass it to lslevel classes.
Create your Level files using vortxEDIT as single projects containing everything you need for that levels game play, other in-game objects can always be added at runtime.
How Sandbox works
lsSandBox class manages many lsSandBoxZone classes. Because a sandbox is really one massive level it should control lsSandBoxZone loading and releasing data into the lsGame class. An lsSandBoxZone controls all its asset loading and releasing in turn. Using zones should give greater flexibility to the developer and his/her target platform. Smaller zones can leave a smaller memory footprint. LsSandBoxZone's will be triggered by distance from the player/camera and must dynamically add/remove data from the lsGame class depending on the distance.
This structure looks like the lsLevelLoader structure but it in no way works the same way. Keep this in mind when you create your lsGamePlay subclass.