Global Map Phase

Hey all,

I want to make a level that has 4 distinct phases.

Phase 1 = 2 minutes of game time
Phase 2 = 30 seconds of game time
Phase 3 = 2 minutes of game time
Phase 4 = 30 seconds of game time

I need four separate phases for sanity sake, I think, because phase 2 and phase 4 will be transitions where parts of the map will move to their resting place for the following phase. Phase 4 will transition back to phase 1 and loop.

I figured it would be easier to have this set globally and then just have each blueprint reference these phases, so that everything could be modified, controlled and updated quickly. I would just create a blueprint for each moving object, then have them commit different actions at the beginning of each phase. So phase 1, “Pillar” would be raised. Phase 2, Pillar would lower. Phase 3, Pillar would stay lowered. Phase 4, Pillar would raise. Phase 1 begins again…
I want 4 distinct phases so that I can control the intermission time between phases on a level wide scale.

I took a look at blueprint interfaces but I don’t know if that’s the right tool or how to use it. Looks like all i can do is create the phase variables (though if i enter a starting value for the integer it crashes) in a function, but I have no way of creating a sort of global process for progressing from one phase to the next and then looping. Any ideas?

I’m not a coder, so the programming mindset for best practices etc is foreign to me. There may be a much better way to do all of this.
Thank you very much! :slight_smile:

Just answering my own question:

The first way that comes to mind is to use a delay loop in the level blueprint that uses a Blueprint Interface that hollers every X seconds to anything that’s listening. Then you could create a parent class of blueprints that contains the associated interface through class defaults, and listens for the BPI to holler and triggers a function. Thanks, me, you’re the best!