Book Image

Building an RPG with Unity 2018 - Second Edition

By : Vahé Karamian
Book Image

Building an RPG with Unity 2018 - Second Edition

By: Vahé Karamian

Overview of this book

In a role-playing game (RPG), users control a character, usually in the game's imaginary universe. Unity has become a top choice for developers looking to create these kinds of immersive RPGs. Building an RPG with Unity 2018, based on building some of the most common RPG features, teaches you tips, tricks, and techniques that can be applied to your own game. To start with, the book guides you through the fundamentals of role-playing games. You will learn the necessary aspects of building an RPG, such as structuring the game environment, customizing characters, controlling the camera, and designing other attributes such as inventory and weapons. You will also explore designing game levels by adding more features. Once you have understood the bigger picture, you will understand how to tackle the obstacles of networking in Unity and implement multiplayer mode for your RPG games. By the end of the book, you will be able to build upon the core RPG framework elements to create your own immersive games.
Table of Contents (16 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Integrating the code


Now that we have our HUD design up and running, we will need to integrate the UI elements with the actual code that will be deriving them. There are a few scripts that will be created to support the new UI features and a few that will be updated to glue everything together.

The following scripts have been created: ActiveInventoryItemUi.cs, ActiveSpecialItemUi.cs, and HudElementUi.cs.

The listing of these scripts is as follows:

using UnityEngine.EventSystems;
namespace com.noorcon.rpg2e
{
public class ActiveSpecialItemUi : EventTrigger
{
public override void OnPointerClick(PointerEventData data)
{
InventoryItem iia =
gameObject.GetComponent<ActiveInventoryItemUi>().item;
switch (iia.Category)
{
case BaseItem.ItemCatrgory.Health:
{
// add the item to the special items panel
GameMaster.instance.Ui.ApplySpecialInventoryItem(iia);
Destroy(gameObject);
break;
}
case BaseItem.ItemCatrgory.Potion:
{
break;
}
}
}
}
}
using UnityEngine;
using UnityEngine.UI;
namespace com.noorcon...