Book Image

Learning C# 7 By Developing Games with Unity 2017 - Third Edition

Book Image

Learning C# 7 By Developing Games with Unity 2017 - Third Edition

Overview of this book

Do you want to learn C# programming by creating fun and interactive games using the latest Unity 2017 platform? If so, look no further; this is the right book for you. Get started with programming C# so you can create 2D and 3D games in Unity. We will walk you through the basics to get you started with C# 7 and its latest features. Then, explore the use of C# 7 and its latest functional programming capabilities to create amazing games with Unity 2017. You will create your first C# script for Unity, add objects into it, and learn how to create game elements with it. Work with the latest functional programming features of C# and leverage them for great game scripting. Throughout the book, you will learn to use the new Unity 2017 2D tool set and create an interactive 2D game with it. You will make enemies appear to challenge your player, and discover some optimization techniques for great game performance. At the end, you will learn how to transform a 2D game into 3D, and you will be able to skill up to become a pro C# programmer with Unity 2017!
Table of Contents (23 chapters)
Title Page
Credits
About the Authors
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Singleton class


By implementing the singleton pattern for GameManager, we can easily access it from anywhere using one single point of access. You probably feel really confused about this now. A simple example will help you get your head around it.

"In software engineering, the singleton pattern is a design pattern that restricts the instantiation of a class to one object. This is useful when exactly one object is needed to coordinate actions across the system."

– Wikipedia

Let's add the following code to the GameManager class. Declare a new public static variable. This code should be written right next to other public variables:

public static GameManager instance; 

Then, add an Awake method with the following line:

void Awake() { 
  instance = this; 
} 

That's it! This is all the code you need for a simple access to the GameManager instance from anywhere in your code. It is important to remember that only one instance of this component can be present in the whole Unity Scene. To access any of...