Level Event Manager !

Oh Yeah !

I finally did it. It’s working ! It’s easy to use ! It’s so cool ! Maybe you don’t even know yet what I’m talking about, but this feature is the one I’ve been thinking about for a looong time.

It enables me to manage the different events in a level : Let’s say “Level Event Manager” or “LEM”.

For example : You need to trigger an event when the character reach a place (like door opening, objects falling, birds flying, or whatever…) :

The blue rectangle is the event zone (the size is editable of course). First you need to make the player move, then trigger an event once the player’s position is in the zone.

Here I did a simple state machine (on the left) for my player : Pressing the right button makes the player move to the right.

The LEM (on the right) and the State Machine just look alike. Actually, the LEM is based on a great part of my State Machine code. Then, it wasn’t so hard to create it. The event automate for this simple level is easy to understand I guess. Once the level is started, the Event zone will check if the player is detected. If the condition is true, then the player will get a vertical speed.

I added some colors to be able to follow the events in real time (well, using C# delegate/events) :

(Before and after detection)

I’ve been working for almost a year on this soft, I’m glad to see my motivations didn’t even changed a bit. Now, my editor is almost complete (well, according to what I want to do before starting). Only the text display functions remain. I’ll do that tomorrow. And this week end I should be able to start a simple game.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s