Unity Spain

Mesa de ayuda => Unity3D => Scripting => Mensaje iniciado por: zelleGames en Febrero 22, 2020, 01:53:57 PM

Título: Object no reference - No doy con el fallo...
Publicado por: zelleGames en Febrero 22, 2020, 01:53:57 PM
Buenas gente,
 
 
 
Tengo un típico error de Object reference not set to an instance of an object y no doy con la solución.
 
Os comento, al hacer click en un objeto paso el objeto a otro script:
 
 
 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.UI;
 
public class Item3D : MonoBehaviour
{
    public int itemID;
    public string itemName, itemDescription;
    public GameObject itemObject;
    public bool couldSave;
    public Sprite itemImage;
 

    private void OnMouseDown()
    {
       
        ViewItem3D.viewItem3D.StartVisualization(this);
    }
 
}

 
 
 
Lo recogo correctamente en ese script y muestro el nombre y descripción sin problemas, pero al querer pasarlo a otro script para añadir el objeto en el inventario
 
me da el error que os indico:
 
 
 

public void StartVisualization(Item3D _item3D){
 
       
        objectToView =Instantiate(_item3D.itemObject, objectPosition);
     
        txtName.text = _item3D.itemName;
        txtDescription.text = _item3D.itemDescription;
        InventaryController.inventaryController.AddItem(_item3D);
    }

 
 
 
Seguro que es una tontería pero no doy con la tecla...
 
 
 
Muchas gracias por adelantado!!
Título: Object no reference - No doy con el fallo...
Publicado por: iRobb en Febrero 22, 2020, 02:28:42 PM
No entiendo nada. itemObject es uin prefab? En cambio no utilizas el objecttoview que es el gameobject instanciado? Y qué es _item3D y donde viene?
Título: Object no reference - No doy con el fallo...
Publicado por: zelleGames en Febrero 22, 2020, 02:50:27 PM
Buenas iRob,
 
ItemObject si, es un prefab. El objectToView lo uso mas tarde para eliminar el objeto instanciado.
 
_item3D viene del primer fragmento de codigo que se lo paso a StartVisualization sin problemas, pero al pasarselo a InventoryController.inventoryController.AddItem me salta el error...
 
 
Título: Object no reference - No doy con el fallo...
Publicado por: iRobb en Febrero 22, 2020, 02:54:59 PM
Pon la línea donde está el error
Título: Object no reference - No doy con el fallo...
Publicado por: zelleGames en Febrero 22, 2020, 03:13:58 PM



   
      InventaryController.inventaryController.AddItem(_item3D);
   

[/quote]
 
 
Título: Object no reference - No doy con el fallo...
Publicado por: iRobb en Febrero 22, 2020, 03:30:32 PM
Pues es uno de los dos primeros.  Haz una comprobación de null en los dos a ver que pasa.
Título: Object no reference - No doy con el fallo...
Publicado por: zelleGames en Febrero 23, 2020, 07:37:45 AM
Ya di con el fallo...el fallo estaba en InventaryController, puse Awaket en vez Awake 
 
 
 

void Awaket(){
 
  inventaryController=this;
 
}

 
 
 
Vamos para darme de leches.
 
iRobb gracias por tu tiempo, al final era una tonteria. A veces el fallo esta en lo más tonto.