Project Assembly

Main Addition
- 1. Dialouge System
- 2. Inventory System
Overview
Unity
C#
Visual Studio
Dialouge System
The dialogue system is essential for our project as we wanted to tell the story of the game through NPC interactions. So to Solve this I created a dialogue system that allows the player to interact with NPCs and read their dialogue. The system is composed of three main scripts: NPCInteract.cs, ChatBubble.cs, and Interact.cs.
The purpose of the NPCInteract script is to display a dialouge box which will rotate to face the player camera to ensure the dialouge can be read.
The ChatBubble script is responsible for displaying the text within the dialouge box, it uses scriptable objects with different speach options to easily customise dialouge options.
The Interact script is responsible for the player to interact with the NPC, it uses a Spherecollider to detect the NPC and display the dialouge box when the interact button is pressed.
Inventory System
The Inventory System is a thing I have always been curious about as it can be made in so many ways. So I decided to take on the challenge of creating one for our project.
My Inventory System is composed of two parts the Visual & the Logical part. The visual part is comprised of two scripts, and the logical is comprised of four.
Logical Part
The four logical scripts are Interact.cs (same as the dialogue system), ItemDataSO.cs, ItemDataCarrier.cs, and Inventory.cs.
the Interact.cs script is responsible for the player to interact with the item, it uses a raycast to detect the item and add it to the inventory when the interact button is pressed.
The ItemDataSO script is a scriptable object that holds the data of the item's, such as item name,item amount,item description, etc.
The ItemDataCarrier script is responsible for attaching the Scriptable-object data to a physical object so that worldspace objects can hold their item data.
The Inventory script is the players inventory, its a list of scriptable-object data so that once the player interacts with an item the data will be added to the inventory.
Visual Part
The two visual scripts are the InventoryMenu.cs and the ItemBoxUI.cs
The purpose the the inventory menu is to display every object in the inventory by creating a itemboxes for each item in the inventory.
The ItemBoxUI script is responsible for displaying the itembox, it uses the itemdata from the inventory to display the itembox with the correct item data.