This one is strange, because it is the "correct intended behavior", but I seem to think otherwise.
Okay. So here is what:
- Lets say I have two layouts, and one object created in layout1 and set as "global"
- The second layout (layout2) also has an instance of this object. But game play requires this instance to be destroyed.
Now if I loop back (using "system:go to layout") on layout2, I would expect the object to not exist (since it was set to global, and was destroyed by gameplay), so this is okay, and expected.
But what if i use "system:reset global variables" along with "system:go to layout", I would expect even global instances of objects to be reset, basically resetting the complete layout with the initial object instances, and positions. But of course, I believe reset global variables, only works on variables.
We should probably have a "reset layout objects" action. I know this could be tricky, and have side effects, because you don't want this to work on certain objects. Probably this behavior should be an added "reset layout" rather than "reset objects" action. But I hope I make my point clear? Tricky one this. But. Would really help.
Consider a game like angry birds, with lots of layouts, (levels), you do not want to instance your usual gameplay elements (such as effects, birds, and what not) on every layout. You would create a template layout, push all common stuff in there, make it global, and simply use instances of these if flexibility is required. And then when you restart your layout, you want the initial instances to be recreated. Hope the example makes my question clear. :)