Using Unity events for input
The third software pattern we will explore using Unity Events. Events allow decoupling of the source of the event from the consumer of the event. Basically, events are a messaging system where one object triggers an event. Any other objects in the project can listen for the event. It can subscribe a specific function to be called when the event occurs.
You can set this up using drag-and-drop via the Unity Inspector. Or you can subscribe listener functions in scripts. In this example, we will minimize the scripting involved, and use the Unity editor to subscribe to events.
Note
Events are a very rich topic and we can only introduce them here. For more information on using Unity Events, there are a lot of good references online, including the Unity tutorials https://unity3d.com/learn/tutorials/topics/scripting/events and https://unity3d.com/learn/tutorials/topics/scripting/events-creating-simple-messaging-system.
The following diagram illustrates the relationship between...