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

Implementing an undo/redo system

Now that we have unique movement commands, we can keep track of them as move sequences. This feature is ideal for letting players undo mistakes or redo past moves if they’re undone in error, and it is common in strategy games and editor tools.

The undo/redo system we’re going to build out in this section works with the Stack type, which is a C# collection type that follows the Last-In-First-Out rule, meaning the item on top of the stack is always the last one we added, like a deck of cards. This is perfect since we only want to undo or redo the most recent command in the player move sequence.

You might be asking yourself, “Why not just use the List type?” Well, you absolutely can, but it’s messier. Lists work off indexes, which means you would have to manually keep track of the current move in the list of moves when you want to undo or redo that move. Further, having to increment and decrement your...