Book Image

Learning Design Patterns with Unity

By : Harrison Ferrone
Book Image

Learning Design Patterns with Unity

By: Harrison Ferrone

Overview of this book

Struggling to write maintainable and clean code for your Unity games? Look no further! Learning Design Patterns with Unity empowers you to harness the fullest potential of popular design patterns while building exciting Unity projects. Through hands-on game development, you'll master creational patterns like Prototype to efficiently spawn enemies and delve into behavioral patterns like Observer to create reactive game mechanics. As you progress, you'll also identify the negative impacts of bad architectural decisions and understand how to overcome them with simple but effective practices. By the end of this Unity 2023 book, the way you develop Unity games will change. You'll emerge not just as a more skilled Unity developer, but as a well-rounded software engineer equipped with industry-leading design patterns.
Table of Contents (23 chapters)
21
Other Books You May Enjoy
22
Index

UnityEvents and the Inspector

Now that we’ve exhausted ourselves with native C# types, let’s turn to the UnityEvent type. A UnityEvent works just like a C# event/delegate or action, meaning they subscribe, unsubscribe, and store a reference to a desired response when something happens. The big difference is that they can be configured in the Unity Editor, which opens a whole new world of possibilities, especially if your team has non-programmer members who need to access and test these features.

Adding Unity events

The code that goes with a UnityEvent will look familiar to everything we’ve done previously – namely declaring an event and then invoking it when the time is right. Update Player.cs to match the following code, which declares a new event for when the player is damaged and fires it every time an enemy collides with the player:

// 1
using UnityEngine.Events;    
public class Player : Subject
{
    // 2
    public UnityEvent OnPlayerDamaged...