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

Adding concrete builders

Our next task is to create the concrete assembly instructions for each of the support ally objects we’ll be building (again, tanks and drones are presumably going to be doing all the real work in this game). Both objects have the same component categories, such as a frame, a motor, and a weapon system, but each individual component is different. We don’t want heavy tank treads on a fiberglass drone hull, right?

Add the following code to the bottom of the Builder.cs script but outside the IBuilder interface declaration. Here, we specify the component parts we want to be assembled into a tank and return the SupportAlly object whenever GetAlly()is queried:

You can create separate scripts for the concrete classes and the IBuilder interface if you like; I’m including them together for easier reference.

// 1
public class TankBuilder : IBuilder    
{
    private SupportAlly _ally;    
    // 2
    public TankBuilder...