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

Accounting for selective visitation

Our concrete PlayerPrefVisitor didn’t store any local data (it doesn’t have to if it’s not necessary), but the Visitor pattern can also account for the context of the visitation; visitors can be set up to apply behaviors and algorithms to specific elements and element combinations. This is a bit of an inversion of how we traditionally think of this pattern, but it’s equally as valid and useful. In this section, we’ll create visiting ScriptableObjects (because we love them) that deliver upgrades and buffs to elements on our Player depending on each concrete visitor’s local state (conditions).

In the Scripts folder, create a new C# script named SOVisitor and update its code to match the following code block. Like PlayerPrefsVisitor, SOVisitor has methods for visiting the Stats, Weapon, and WeaponMod components on our Player, but with added variables to determine when a component needs to be visited. How...