Event System X allows for the use of Events in the classic sense and in an automatic fashion based on defined triggers saving you time creating how you would fire events.
Features:
•Broadcast empty event messages.
•Broadcast any type of message object.
•Manual Event broadcasting
•Automatic Event broadcasting based on triggers
•Automatic Event broadcasting based on complex sequences
•Remapping Event triggers using "InputRemapper.RemapDown(eventX, callback)"
•Customize automatic broadcast with EventChannels and settings
•One Event can have any number of listeners, and any number of message types
•Listeners have names, tags, and objects that can be set or left null used to identify them
•Listeners define what messages they receive
•High performance
•And more...
Simple Example:
Registering a listener to an event...
var listener = EventManagerControllerX
.GetEvent("My Event Id")
.Register{int}(MethodThatTakesAnInt)
public void MethodThatTakesAnInt(int num){ Debug.Log("Number is "+ num); }
Manually sending a message...
EventManagerControllerX
.GetEvent("My Event Id")
.Broadcast(5);
See the documentation "Example Scene Code" for 14+ different examples on how to use Event System X, or watch the videos provided.