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 a turn-based battle system

Conventionally, a state is only required to have a method for handling state-specific logic, but a more complete implementation will have Enter and Exit methods and separate methods for handling input and checking for state changes. This is especially useful in Unity when you need to separate physics logic that needs to be fired in FixedUpdate versus other state logic that can go in the regular Update function in your client script.

For our example, we’ll be using the whole bundle – enter, exit, input-handling, and state transition methods, which are going to help us write a more robust (and customizable) state-handling system.

Defining abstract and base states

In the Scripts folder, create a new C# script named State and update its code to match the following code block. This class will serve as our blueprint for all states in the game, even if they are used in different state machines. We’ll be using coroutines...