PacktLib: Learning C# by Developing Games with Unity 3D Beginner's Guide

Learning C# by Developing Games with Unity 3D Beginner's Guide

Credits

About the Author

About the Reviewers

www.PacktPub.com

Preface

Discovering Your Hidden Scripting Skills

Prerequisite knowledge for using this book

Dealing with scriptphobia

Choosing to use C# instead of UnityScript

Maneuvering around Unity's documentation

Time for action – opening the Reference Manual documentation for the transform Component

Time for action – opening the scripting reference documentation for the transform component

Working with C# script files

Time for action – create a C# script file

Time for action – opening LearningScript in MonoDevelop

Summary

Introducing the Building Blocks for Unity Scripts

Using the term method instead of function

Understanding what a variable does in a script

Time for action – creating a variable and seeing how it works

Time for action – changing the number 9 to a different number

Using a method in a script

Time for action – learning how a method works

Introducing the class

By using a little Unity magic, a script becomes a Component

Components communicating using the Dot Syntax

Summary

Getting into the Details of Variables

Writing C# statements properly

Understanding Component properties in Unity's Inspector

Displaying public variables in the Inspector panel

Time for action – making a variable private

Naming your variables properly

Declaring a variable and its type

Time for action – assigning values while declaring the variable

Summary

Getting into the Details of Methods

Ending a method definition using curly braces

Using methods in a script

Naming methods properly

Defining a method properly

Time for action – adding code between the parentheses

Calling a method

Returning a value from a method

Time for action – returning a value from AddTwoNumbers()

Using Unity's Update and Start methods

Summary

Making Decisions in Code

Testing conditions with an if statement

Time for action – create a couple of if statements

Time for action – create if statements with more than one condition to check

Using an if-else statement to execute alternate code

Time for action – add "else" to the if statement

Making decisions based on user input

Storing data in an array, a List, or a Dictionary

Time for action – create a List of pony names

Time for action – create a dictionary of pony names and keys

Time for action – adding ponies using a Collection Initializer

Looping though lists to make decisions

Time for action – using foreach loops to retrieve data

Time for action – selecting a pony from a List using a for loop

Time for action – finding data and breakout of the while loop

Summary

Using Dot Syntax for Object Communication

Using Dot Syntax is like addressing a letter

Working with objects is a class act

Using Dot Syntax in a script

Time for action – accessing a variable in the current Component

Time for action – communicating with another Component on the Main Camera

Time for action – creating two GameObjects and a new script

Accessing GameObjects using drag-and-drop versus writing code

Time for action – trying drag-and-drop to assign a GameObject

Summary

Creating the Gameplay is Just a Part of the Game

Applying your new coding skills to a State Machine

Understanding the concepts of a State Machine

Following the State Machine logic flow

Creating Components objects and C# objects

Time for action – creating a script and a class

Time for action – instantiating the BeginState class

Introducing the C# interface

Time for action – implementing an interface

Summary

Developing the State Machine

Creating four State classes

Time for action – modifying BeginState and add three more States

Setting up the StateManager controller

Time for action – modify StateManager

Time for action – modifying PlayState to add another State

Time for action – adding OnGUI to StateManager

Changing the active State and controlling the Scene

Time for action – adding GameObjects and a button to the Scene

Time for action – adding code to pause the game Scene

Time for action – creating a timer in BeginState

Changing Scenes

Time for action – setting up another Scene

Time for action – adding the Awake method to StateManager

Time for action – adding the code to change the Scenes

Summary

Start Building a Game and Get the Basic Structure Running

Easing into Unity's scripting documentation

Setup the State Machine and add a Player GameObject

Time for action – setting up nine States and three Scenes

Time for action - adding a Player GameObject

Time for action – creating a GameData script

Controlling the Player GameObject

Time for action – rotating Player in SetupState

Time for action – changing the color using GUI buttons

Time for action – setting the Lives for Player

Summary

Moving Around, Collisions, and Keeping Score

Visualizing the completed game

Switching to the first play State and playable scene

Adding cameras for different viewing options

Time for action – setting up two additional cameras in the scene

Time for actioning – attach the LookAtPlayer camera script

Time for action – attaching the FollowingPlayer camera script

Moving the Player using Rigidbody physics

Time for action – adding a Rigidbody to the Player

Keeping score during the game

Time for action – creating a good and bad prefab

Shooting projectiles at the orbs

Time for action – creating the EnergyPulse prefab

Summary

Summarizing Your New Coding Skills

Coding a Unity Project

Scratching the surface of C# programming

Controlling the game with a State Machine

Learning more after this book

Summary

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Initial State Machine files

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Completed code files for Chapters 9 and 10

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Index