Getting more specific with pickups
So I currently have a setup where if the player hovers over a "Flask" gameobject and presses "E", a counter on the HUD UI will tick up and the object will deactivate.
This is attached to the UI object:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIctrl : MonoBehaviour {
public int hflaskInt;
public Text hflaskText;
public void Start()
{
SetCountText ();
}
public void AddFlask ()
{
++hflaskInt;
SetCountText ();
}
void SetCountText()
{
hflaskText.text = hflaskInt.ToString ();
}
}
This is attached to the flask object:
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class CollectHealthflask : MonoBehaviour
{
public UIctrl uictrl;
public bool keypress;
public bool mouseover;
public GameObject flaskObject;
void Start ()
{
mouseover = false;
keypress = false;
flaskObject = this.gameObject;
}
void OnMouseOver()
{
mouseover = true;
}
void OnMouseExit()
{
mouseover = false;
}
void Update()
{
if (Input.GetKeyDown (KeyCode.E)) {
keypress = true;
} else {
keypress = false;
}
if (keypress == true && mouseover == true) {
uictrl.AddFlask();
gameObject.SetActive (false);
}
}
}
What I am wondering is how hard it would be to have several different types of flasks, and a counter for each. Also how would it work? Would I be able to use the tag system or is there another way with scripting to create a sort of object category system? Would it be simpler to find some sort of premade inventory system in the asset store and just have it render the quantities onto the HUD?
Thanks so much for any help.
Your answer
Follow this Question
Related Questions
Character Animator controller/movement 0 Answers
Referencing a variable from another script 1 Answer
Player controlled game object with moving parts? 0 Answers
First person shooter : Footsteps! 1 Answer
Timer wont work 0 Answers