CS2335
Master_v2
Master_v2
  • Introduction
  • Introduction
    • Introduction
      • Design
      • Game Design
    • Unity - Download
    • Visual Studio - IDE
    • Hero's Journey
  • Unity Basics
    • Unity Editor Windows
    • MonoBehavior - Base-Class
    • Unity Engine - Event Functions
  • Getting Started
    • UI-Elements
    • Animator Controller
      • Animation Steps
    • PlayerController Flow Chart
    • PlayerController Code
      • PlayerController - V1 - S20
      • PlayerController V2 S20
      • PlayerController V3 S20
  • Project 1 - Simple Game
    • Overview
    • Project 1 - Get Started
      • UML Class Diagram
    • Player GameObject
      • PlayerController.cs V2
      • PlayerController.cs V3
    • Create 2D Sprite Prefab: Rock
    • Sorting Layers
  • Project1 Code
    • PickUp PreFabs
    • Player GameObject
    • PlayerController - jump
    • GameData Version1
    • PlayerStats Version1
    • MiniGameManager
      • Logic Diagram
    • Simple Spawner
    • Utility Class
  • Project1 Enhancements
    • PickUp - SelfDestruct
    • Spawn from List of Prefabs
  • Project 2 - StateManager
    • Project 2 - Learning Objectives
    • Project 2 - Starter Assets
    • Project 2
      • State Machine Framework
        • Singleton Pattern
      • StateManager - Singleton Design Pattern
      • IStateBase, BeginState
      • Project 2 -Steps: Create new Scene and State
      • Project 2 - List of Steps
        • Project 2 - Starter Code
  • Project 2 -Dialog
    • Hide_Show_Panel Script
    • Configure TitlePanel, DecisionPanel
    • Simple Dialog Prefab
    • Conversation Scriptable Objects
    • DialogManager_ConvList
    • Image Transitions for Buttons
  • UI Components
    • Finding Game Objects
    • Game Objects: UI vs. 2D Sprite
    • UI Elements
      • Canvas: Screen-Space Render-Mode
      • UI-Buttons To Change Scene
      • Text Input
  • Project2 Resources
    • Visual Novel in Unity-Links
    • Scriptable Object Factory
      • ScriptableObjects
    • Dialog Prefab Packages
  • Project 3 - Overview
    • Branching Story Structures
    • Dictionary Data-Structure
      • Unity PlayerPrefs Dictionary
    • Dictionary: User-Choice Data
      • User-Choices - Example
        • Dictionary Value to Disable Options
    • Simplified Mini-Game
      • PlayerController_v2 Mods
        • PlayerController_v2_final
      • MiniGameManager_v2
  • Proj3: Inventory System
    • Inventory-System
      • Install and Configure
      • Diagrams, Resources
        • Item, Gem, Potion Classes
        • Inventory Class
      • InventoryDisplay, Slot UI
        • InventoryDisplay Class
        • Slot Class
        • Hazard Class
        • Layout Groups
      • Customization Steps
        • Configure Animation
        • AddItem Button
        • Concrete Class: Food
        • MiniGame Mods
          • PlayerController Mods
      • Code: InventorySystem
        • GameData, PickUp Mods
      • Resources: Data Structures
  • Proj3: Custom UnityEvents
    • Event Publishing Patterns
    • Custom Event Messaging
  • Proj3: Mini-Game
    • MiniGame-Overview-Proj3
    • LevelManager
      • LevelManager Logic Diagram
      • LevelManager FSM
      • LoadLevel, StartLevel Logic
      • Code Framework
    • Timer
  • Project 3 - Code Mods
    • Project 3 - Steps
    • Project 3 - Code
      • Code: Final Versions
        • PlayerController Mods
          • PlayerController_v2 Mods
        • GameData - Final
        • LevelManager
        • PlayerStats - Final
        • PickUp, Hazard, ScorePickUp
        • Spawner - Final
        • CameraFollow
        • ScreenFader
        • MiniGameState
        • Example: EndState
      • MiniGameWin Logic
  • Optional, Supplemental Content
    • Optional Content
      • Adding Audio
      • Screen Fading and Reloading
      • ScriptableObjects
      • Disable Debug Logging
      • Events and Actions
      • Saving Data - Serialization
      • Parallax Scrolling
      • Change Sprites
  • C# Language
    • C# Language
      • Variables
      • Enum
      • Encapsulation
        • C# Properties
        • Access Modifiers
      • Inheritance
      • Polymorphism
      • Interface
      • Switch-Case
      • List< T >
      • Queue< T >
      • Dictionary
      • Foreach
      • Static
      • Ternary Operator: ?
      • this
      • Delegates
    • Diagrams
      • State Machine Framework
      • UML Class Diagrams
      • Level Manager Logic Diagram
      • Flow-Chart: NumberGame
      • FSM: NumberGame
    • Glossary
    • References and Resources
    • Random Thoughts
Powered by GitBook
On this page
  • Installation Details
  • Configuration Details - Fix any Code Errors
  • Step 1: BeginScene - GameData issues:
  • Step 2 - Add Prefabs to Canvas in Scene
  • Edit ISimple_Inventory Prefab: Attach InventoryDisplay.cs Script
  • Play the Scene to Verify Installation / Configuration

Was this helpful?

  1. Proj3: Inventory System
  2. Inventory-System

Install and Configure

Installation, Configuration details for the Inventory System.

PreviousInventory-SystemNextDiagrams, Resources

Last updated 5 years ago

Was this helpful?

Video that shows Installation and Configuration of the Inventory System Described Below

Installation Details

Version1: Disabled Link: Download Link: Inventory System Code Unity Package

IMPORTANT; If you imported InventorySystem prior to using the updated version 2, 4/11/2020, then import the updated code files using the package below.

Step 1. IMPORTANT: Prior to Importing the Package: DELETE the following Scripts in your project: PickUp.cs, GameData.cs You will import new versions of these files, so you need to delete the old versions to insure you don't end up with 2 instances of a script. If the package scripts are in a different folder structure than they are in your project, then they won't get overwritten and you'll have 2 versions of the scripts, it may be difficult to tell which one needs to be deleted, so do that as the first step.

Step 2. Import Custom Package: In your Unity project, select top menu: Assets > Import Package > Custom Package: Select from downloads: InventorySystem_S20_v1

You should see the items listed in the image below. Submit using the Import Button

Configuration Details - Fix any Code Errors

//FIX CODE IN PlayerStats.cs
private void UpdateDisplay()
    {
        scoreText.text = "Score: " + GameData.instanceRef.Score; //replace .TotalScore
        healthText.text = "Health: " + GameData.instanceRef.Health;
    }

Step 1: BeginScene - GameData issues:

  • In BeginScene, make sure the GameManager gameObject has no errors on the GameData.cs script component. (TO FIX: Remove component, re-add)

  • Create an Inventory ScriptableObject: named: Inventory. ( no additional configuration needed for GameInventory scriptableObject )

  • Add GameInventory scriptableObject to the GameData.cs component on GameManager.

Step 2 - Add Prefabs to Canvas in Scene

In the Prefabs Folder, find the ISimple_Inventory and the BtnAddDiamond prefabs Drag both prefabs onto the Canvas. Position the objects by setting the Rect-Transform Anchors so they are constrained and visible in the SceneView as shown in the image below

Edit ISimple_Inventory Prefab: Attach InventoryDisplay.cs Script

Edit the InventoryDisplay Prefab by Attaching InventoryDisplay.cs to the Top-Level Panel of ISimple_Inventory Prefab. Save Project and Scene. Note in the image below: the InventoryDisplay.cs component has been added. Also note the use of a Grid Layout Group Component.

Play the Scene to Verify Installation / Configuration

When playing the scene, you should be able to click the btnAddDiamond button and see items added to 1-cell of the ISimple_Inventory prefab. Clicking the item within the inventory should remove an item from the grid. If you play the scene with GameData selected in the Hierarchy, you should be able to see the inventory scriptableObject dynamically changing to show items added and removed from the inventory display.

UPDATED - Version 2: 4/11/2020

- 4/13/2020

IMPORTANT FIX POSSIBLE CODE ERRORS: See for Possible Errors in PlayerStats.cs due to inconsistent variable name: score / Score vs totalScore / TotalScore in GameData.cs

Download Link: Inventory System Code - Version 2 - Unity Package
Updated Inventory System Code Files - To overwrite Version 1 - files:
Details for Fix
Import Custom Package