Original Post
I have the following problem: in my game, different subsystems have a pointer to the current game level. When the level changes, a subsystem called LevelHandler destroys the old map and allocates memory for a new one, storing the address in the same pointer. Of course, now all the other subsystems' level pointers have gone bad. My question is, how can I best synchronize all the subsystems to use the new level? This would be easy if every subsystem would know about each other, but it has been my design goal to isolate them from each other as much as possible. This problem is probably a well-known one, so there has to be some great professional-looking solution I'm not aware of. :)