Creare Videogiochi - Game Developer

Versione completa: Problema con game object
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Sto sviluppando un gioco survivor in unity3d e praticamente ho creato un HUD (uno della salute e fame e uno delle risorse quali : legno, pietra, ferro)

Ogni risorsa ha un suo tag(Wood, Stone, Iron) e uno script dove viene definito il suo limite. Es.

Il masso può droppare 10 di pietra, clicco 10 volte e la pietra scompare e automaticamente mi viene messo tutto nell'inventario e perdo dei punti fame. Stessa cosa con le altre risorse.

Solo che c'è un problema...non posso piazzare più di una risorsa altrimenti se vado a raccoglierne una, questa non me la fa raccogliere.
Questo è lo script per raccogliere le risorse

Codice:
using UnityEngine;
using System.Collections;

public class Raccolta : MonoBehaviour {
    
    public Texture crosshair;
    public Camera camera;
    
    public Texture crrosshair;
    public AnimationClip HIT;
    
    public Health vit;
    public Inventory inv;
    public Wood legn;
    public Stone piet;
    public Iron ferr;
    public float range;
    
    void Start ()
    {
        vit = GameObject.FindWithTag("Player").GetComponent<Health>();
        inv = GameObject.FindWithTag("Player").GetComponent<Inventory>();
        legn = GameObject.FindWithTag("Wood").GetComponent<Wood>();
        piet = GameObject.FindWithTag("Stone").GetComponent<Stone>();
        ferr = GameObject.FindWithTag("Iron").GetComponent<Iron>();
    }
    
    
    void Update ()
    {
        if (Input.GetMouseButtonDown(0))
        {
            animation.Play();
            ShootFunction();
        }
    }
    
    void OnGUI()
    {
        GUI.DrawTexture(new Rect(Screen.width / 2, Screen.height / 2, 50, 50), crrosshair);
    }
    
    void ShootFunction()
    {
        Ray ray = camera.ViewportPointToRay(new Vector3(0.1f, 0.1f, 0));
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, range))
        {
            if (hit.collider.tag == "Wood")
            {
                legn.LegnoState = legn.LegnoState -1;
                inv.Legno = inv.Legno +1;
                vit.Fame = vit.Fame -1;
            }
            if (hit.collider.tag == "Stone")
            {
                piet.PietraState = piet.PietraState -1;
                inv.Pietra = inv.Pietra +1;
                vit.Fame = vit.Fame -1;
            }
            if (hit.collider.tag == "Iron")
            {
                ferr.FerroState = ferr.FerroState -1;
                inv.Ferro = inv.Ferro +1;
                vit.Fame = vit.Fame -1;
            }
        }
    }
    
}