- Home /
Problems calling functions from Scriptable Objects
Hi there! I am working on an simple examining system. im pretty far right now and it works as i expected but i have one problem. if i click on an item in my inventory a prefab will instantiated with the examining object on it. i call the function on the Scriptable Object
SlotScript.cs
........
if (eventData.button == PointerEventData.InputButton.Right)
{
//UseItem();
ExamineItem();
}
public void ExamineItem()
{
if (MyItem is IExaminable)
{
(MyItem as IExaminable).StartExamine();
}
}
public void StopExamineItem()
{
if (MyItem is IExaminable)
{
(MyItem as IExaminable).StartExamine();
}
}
The calling of the function to examine the item works pretty well but i dont know how or where i could call the StopExamineItem() Function. ive tried several things now, but nothing works. the calliing functions are on the Scriptable Object: public class HealthHerb : Item, IUseable, IExaminable { [SerializeField] private int health;
[SerializeField]
private GameObject examiningObject;
private GameObject gO;
private Camera exaCam;
public GameObject MyExaminingObject
{
get
{
return examiningObject;
}
set
{
examiningObject = value;
}
}
//FOR TESTINGs
public void StartExamine()
{
gO = Instantiate(MyExaminingObject);
exaCam = gO.GetComponent<Camera>();
exaCam.enabled = true;
UIManager.MyInstance.inventory.alpha = 0;
UIManager.MyInstance.ShowExamineUI();
}
public void StopExamine()
{
Debug.Log("Get in");
UIManager.MyInstance.HideExamineUI();
exaCam.enabled = false;
Destroy(gO);
}
public void Use()
{
Remove();
}
I know that the problem is that i dont click on this item in the inventory to call the closing but how can i do that? Or how do i do that to close or delete the prefab with keboard input?
Any idea or help?
THX