Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning C# by Developing Games with Unity 3D Beginner's Guide

You're reading from   Learning C# by Developing Games with Unity 3D Beginner's Guide The beauty of this book is that it assumes absolutely no knowledge of coding at all. Starting from very first principles it will end up giving you an excellent grounding in the writing of C# code and scripts.

Arrow left icon
Product type Paperback
Published in Sep 2013
Publisher Packt
ISBN-13 9781849696586
Length 292 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Terry Norton Terry Norton
Author Profile Icon Terry Norton
Terry Norton
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

Preface 1. Discovering Your Hidden Scripting Skills FREE CHAPTER 2. Introducing the Building Blocks for Unity Scripts 3. Getting into the Details of Variables 4. Getting into the Details of Methods 5. Making Decisions in Code 6. Using Dot Syntax for Object Communication 7. Creating the Gameplay is Just a Part of the Game 8. Developing the State Machine 9. Start Building a Game and Get the Basic Structure Running 10. Moving Around, Collisions, and Keeping Score 11. Summarizing Your New Coding Skills A. Initial State Machine files B. Completed code files for Chapters 9 and 10 C. Pop Quiz Answers Index

Time for action – adding the Awake method to StateManager


In the code block of the Awake() method, we're going to check if the GameManager GameObject already exists. If it doesn't, we'll save it to a variable and tell Unity not to destroy it when any other Scene level is loaded. If it does already exist, we'll tell Unity to destroy any new GameManager GameObjects created.

Insert the new code as shown in the following steps:

  1. Add a new static variable on line 9.

  2. Add the Awake() method at lines 11 through 22 as shown in the following screenshot:

What just happened?

An analysis of the code shown in the preceding screenshot is as follows:On the StateManager class

Line 9: private static StateManager instanceRef;

  • This variable named instanceRef stores a StateManager type which is a reference to the StateManager object in the memory

  • This is also a static variable

  • This means, that in this example, each instance of the StateManager Component object that's created will share and see the same value

  • It is...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime