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

Working with composite elements

There are going to be times when your object structure isn’t the only thing with visitable child elements, and that’s absolutely fine. In our case, each Weapon has a list of modifications that can also be expanded with a concrete visitor on demand. The solution for this scenario isn’t scary or undiscovered, it’s just a good-old inheritance question mixed with a little added iteration!

Open Weapon.cs and update the WeaponMod class code at the bottom of the file to match the following snippet, which implements the IElement interface, adds the required Accept method, and uses the concrete visitor parameter to call the corresponding visiting method just like we’ve done with our other visitable elements.

// 1
public class WeaponMod : IElement
{
    public string Name;
    public int Slot;
    public int Level = 1;
    public WeaponMod(string name, int slot)
    {
        this.Name = name;
        this.Slot = slot...