Book Image

Learning C# by Developing Games with Unity 5.x - Second Edition

Book Image

Learning C# by Developing Games with Unity 5.x - Second Edition

Overview of this book

Unity is a cross-platform game engine that is used to develop 2D and 3D video games. Unity 5 is the latest version, released in March 2015, and adds a real-time global illumination to the games, and its powerful new features help to improve a game’s efficiency. This book will get you started with programming behaviors in C# so you can create 2D games in Unity. You will begin by installing Unity and learning about its features, followed by creating a C# script. We will then deal with topics such as unity scripting for you to understand how codes work so you can create and use C# variables and methods. Moving forward, you will find out how to create, store, and retrieve data from collection of objects. You will also develop an understanding of loops and their use, and you’ll perform object-oriented programming. This will help you to turn your idea into a ready-to-code project and set up a Unity project for production. Finally, you will discover how to create the GameManager class to manage the game play loop, generate game levels, and develop a simple UI for the game. By the end of this book, you will have mastered the art of applying C# in Unity.
Table of Contents (20 chapters)
Learning C# by Developing Games with Unity 5.x Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

The code used in this chapter


Here are the pieces of code used in the chapter:

The code for LevelPiece.cs:

using UnityEngine;
using System.Collections;

public class LevelPiece : MonoBehaviour {

  public Transform exitPoint;

}

The code for LevelGenerator.cs:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class LevelGenerator : MonoBehaviour {

  public static LevelGenerator instance;
  //all level pieces blueprints used to copy from
  public List<LevelPiece> levelPrefabs = new List<LevelPiece>();
  //starting point of the very first level piece
  public Transform levelStartPoint;
  //all level pieces that are currently in the level
  public List<LevelPiece> pieces = new List<LevelPiece>();
  
  void Awake() {
    instance = this;
  }

  void Start() {
    GenerateInitialPieces();
  }


  public void GenerateInitialPieces() {
    for (int i=0; i<2; i++) {
      AddPiece();
    }
  }
  
  public void AddPiece() {

    //pick...