Skip to content

darkon76/UnityEventManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UnityEventManager

Summary An Event System is a fast way to communicate GameObject with the advantage that they don't need to know each other.

Usage

  1. Put the desire event at eEvent.
public enum eEvent {
    RandomEventName,
    MAX
}

Enums are used to avoid errors, and helps searching event triggers and listeners.

  1. Create the function that listens to the Event Manager
void Foo(object[] args)
{
}

The array is for event communication, as bonus it's easier to identify an event function.

2.1) Listen to the Event Manager

void OnEnable()
{
     EventManager.Listen(eEvent.RandomEventName,OnFoo);
}

2.2) Important When you register a listener you need to unregister it.

void OnDisable()
{
     EventManager.Remove(eEvent.RandomEventName,OnFoo);
}

A good practice is, if you register at OnEnable unregister at OnDisable. It works the same way with Awake and OnDestroy.

You can register a listener any place but always unregister it.

  1. Trigger the event with
void OnDisable()
{
     EventManager.Trigger(eEvent.RandomEventName); //Trigger the listeners with null parameters.
     EventManager.Trigger(eEvent.RandomEventName, withParameters);
}

Trigger with the parameter enum, and all the parameters that we want to send.

About

Easy to use Event Manager.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages