I'm trying to make a simple sokoban puzzle game with an undo feature. I've made an array of previous scene states (duplicates of the scene node at different points in time) that can be loaded back to by pressing the undo button, so if you push a crate too far for example, you can undo a few times to before you pushed it.
My problem is that doing a move that doesnt do anything, like trying to push against a wall, saves a state thats the exact same as the previous one, requiring you to undo twice. Is there anyway for me to check if two of these scene node duplicates have the same properties so I can remove repeats?