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

Creating coupled commands

Before we dive into writing commands with state data, let’s talk about why they’re necessary. Our reusable commands seem wonderful so far (and well suited to their job), but imagine if you needed to be able to record a sequence of commands and either undo or redo them. Since each reusable command is just a wrapper for its Execute method, and we pass in a receiver every time we use it, the receiver and the command aren’t bound together. Likewise, if we were to store some values inside the reusable commands, we’d be reusing those values because we’d be reusing the same command instance. You’re seeing the problem, right? To undo a command, we need to know its state before the command is executed. To redo a command, we need to know its starting state.

For our example, we’ll create a new abstract class for movement commands so we can store the unit’s starting and ending positions every time it’...