So, I have some parts of the map who’s status can change during the game. I thought it’d be great to do some overlays that can mark this. Non-stackable, ect. Works fine, though of course, other things can get in the way. Also, it’s not obvious to the user that there’s anything there.
So, I thought I’d do a control panel that these can be manipulated from. Do a little map window, have a piece that can be flipped that sends out a global key command, and the overlay flips layers when that command goes off.
That was great… but when the number of pieces on the board is high, that GKC takes a long time to fire. So is there a more efficient way to do this? My first thought was a Global Property. Having the control piece change the Property is easy, but I don’t know how you’d have the change in Global Property cause a Layer to activate/deactivate.
You’d have the Layer be always active and its levels set to follow expression (the global property), with the global itself handled numerically (0-1, with 0=off and 1=on, wrapping). Then have Level 1=0 on the layer, with its first level completely blank. It might be handled quicker this way (over the gkc’s) - I don’t know - hope so! You could even make it a togglable button on the map itself, if you wanted to go w/o the extra window, with a little light next to it showing on/off status… or a togglable toolbar button of course… anyway, hope that helps.
I’ve done Global Properties like you describe before. And done pieces that cycle the property.
What I don’t get is how to link the layer on the overlay to this. Sure, a two level layer, one of which is blank. But how do you get it to do anything when the Global Property changes?
There’s a checkmark box in Layer properties called Levels Follow Expression Values. When you check that you’ll see a space pop up in which to enter the global property’s name (the global must now be numerical only) and then how the levels line up with the global’s property (Level 1=0).
So there is! I had not noticed that addition. Had to look twice to find it this time.
Perfect. That solves the problem, and the response is instant the way it should be.