Reader small image

You're reading from  Game Development Patterns with Unity 2021 - Second Edition

Product typeBook
Published inJul 2021
Reading LevelBeginner
PublisherPackt
ISBN-139781800200814
Edition2nd Edition
Languages
Tools
Right arrow
Author (1)
David Baron
David Baron
author image
David Baron

David Baron is a game developer with over 15 years of experience in the industry. He has worked for some well-known AAA, mobile, and indie game studios in Montreal, Canada. His skill set includes programming, design, and 3D art. As a programmer, he has worked on various games for various platforms, including virtual reality, mobile, and consoles.
Read more about David Baron

Right arrow

Testing the engine facade

We can quickly test the code we just implemented by adding the following client script to a GameObject in an empty Unity scene:

using UnityEngine;

namespace Chapter.Facade
{
public class ClientFacade : MonoBehaviour
{
private BikeEngine _bikeEngine;

void Start()
{
_bikeEngine =
gameObject.AddComponent<BikeEngine>();
}

void OnGUI()
{
if (GUILayout.Button("Turn On"))
_bikeEngine.TurnOn();

if (GUILayout.Button("Turn Off"))
_bikeEngine.TurnOff();

if (GUILayout.Button("Toggle Turbo"))
_bikeEngine.ToggleTurbo();
}
}
}

In the client class, we see that it's not aware of the engine's inner workings, and this is the effect we want to achieve when using the Facade pattern. The only thing the client class knows is that it can start and stop the engine and toggle on a turbocharged...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Game Development Patterns with Unity 2021 - Second Edition
Published in: Jul 2021Publisher: PacktISBN-13: 9781800200814

Author (1)

author image
David Baron

David Baron is a game developer with over 15 years of experience in the industry. He has worked for some well-known AAA, mobile, and indie game studios in Montreal, Canada. His skill set includes programming, design, and 3D art. As a programmer, he has worked on various games for various platforms, including virtual reality, mobile, and consoles.
Read more about David Baron