This is really cool. Would it be possible for me to change the model to like, Uther or something?
Edit: Never mind, figured it out. Your map is great for teaching how to import Heroes of The Storm models.
When building a level though, I found it a little tricky to find all the blocks. Had to type "Game" and "Coin" and "Health" into the search bar on the unit tree to find some things. Had to find the enemy "Rover" as well. I think it might be nicer if all the units/blocks had the same prefix. That way you only need to search one term for every place-able block/unit.
Building levels is pretty nice if you use number pad 5 to snap things to the grid until you get to the pipes. Pipes with hidden areas aren't able to be covered nicely with the blocks while being meshed to the grid it seems. This makes it difficult to make clean, straight lines when it comes to pipes with hidden areas. Would it be possible to fix this for future editions?
Could you make this as a dependency, so it could be easily added to any map? (A few of the variables, even in the library code, use map-specific references instead of using variables. So that's probably where you'd have to start in doing that) Also is there a way to show/hide all the objects so you can easily squish multiple "levels" into one map?
And finally I think a way to remap the controls in-game with an easy UI would be nice. (So players can easily change controls to their liking) Looking through your code, it'd be relatively simple to allow it to be remapped but UI stuff can always be a pain so I don't know how simple that would be.
I think your code is really clean, too. It's pretty easy to follow and learn for someone of my skill level with JASS/Galaxy (Which I'd say is pretty average) which makes it really really flexible IMO.
I was working on this last month. I've attached the results of that work. Also includes some changes to collision (now dynamic based on unit height/width instead of always being six points).
NOTE that hit detection (ie, running into enemies and getting damaged or jumping on enemies to pop them) is not well implemented and to merely prove the concept. Proper hit detection would require more work to feel right within the SC2 engine, since with data the game can only check around a unit's center point (or in the case of the current implementation, a group of attached hit box units for each "real" unit) within a search effect.
For those of you with github, I've created a public repo of the 2DGL here. I do not currently have time to develop this further, but may be able to assist (or at least answer questions) if any one else would like to.
You have a really, really good base here. I'll see what I can accomplish. Right now I'm working on getting Vectorman-esque mechanics functional (Boost Stomping and shooting/projectiles) for some testing I wanted to do. The mechanics you have here are already really functional and pretty well polished. It controls really good and everything feels pretty right (Though the hitboxes are a tad bit not what I'm use to, but it was no problem getting use to them)