• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Strumenti di selezione dell'inventario
#1
Ora che ho capito come creare un inventario sto cercando di creare uno script che permetta di cliccare uno slot e di far apparire una finestra di selezione (ovviamente solo quando lo slot è pieno). Per adesso sto solo cercando di far funzionare il void OnPointerClick

Codice:
using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections;
using System;

public class ItemActions : MonoBehaviour, IPointerClickHandler {

    public Item items;

    private Inventory_ToolTip tool;

    private GameObject tooltip;

    void Start ()
    {
        tool = GetComponent<Inventory_ToolTip> ();
        tooltip = GameObject.Find ("InvActions");
    }

    void Update ()
    {
    
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        if (tooltip.activeSelf == false)
        {
            tool.Activate (items);
        }
        else
        {
            tool.Deactivate ();
        }
    }
}

purtroppo non funziona: lo script è attaccato al prefab dell'icona dello slot, quindi una volta aperto l'inventario si dovrebbe avere la possibilità di cliccarci sopra, ma questo non avviene

per caso nello script c'è qualcosa di errato? se no, allora cosa potrebbe essere?
 
Rispondi
#2
Codice:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Inventory_ToolTip : MonoBehaviour {

    private string nameData;

    public Item item;
    private GameObject tooltip;

    void Start ()
    {
        tooltip = GameObject.Find ("InvActions");
        tooltip.SetActive (false);
    }

    void Update ()
    {
    
    }

    public void Toggle(Item item)
    {
        if (tooltip.activeSelf == false)
        {
            this.item = item;
            tooltip.SetActive (true);
            DataString ();
        }
        else
        {
            tooltip.SetActive (false);
        }
    }

    public void DataString ()
    {
        nameData = item.Name;
        tooltip.transform.GetChild (0).GetComponent<Text> ().text = nameData;
    }
}

Questo è il nuovo script che adesso funziona parzialmente, infatti lo ho fatto in modo che, dopo aver premuto il tasto, spunti una casella di testo... il testo dovrebbe essere nameData, e cosi è, tuttavia quando devo uguagliare nameData = item.Name, dove item.Name richiama il nome dell'oggetto, allora la casella di testo non avrà il testo nameData, ma quello di default.
 
Rispondi
#3
Ho capito che il problema sia in questo script, ma non ho capito cosa c'è che non va:

Codice:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using System;

public class SelectionTool : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler {

    public Item item;

    private Inventory_ToolTip invTool;

    private Inventory_System inv;

    void Start ()
    {
        inv = GameObject.Find ("Inventory").GetComponent<Inventory_System> ();
        invTool = inv.GetComponent<Inventory_ToolTip> ();
    }

    void Update ()
    {
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        invTool.ActionsToggle (item);
    }

    public void OnPointerEnter(PointerEventData eventData)
    {
        invTool.ShowName (item);
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        invTool.HideName ();
    }
}
 
Rispondi
#4
Risolto Big Grin
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Effetto perimetro selezione oggetti Almiotti79 11 1,158 22-10-2016, 12:01 AM
Ultimo messaggio: Almiotti79
  Grandezza inventario sempre uguale 93sunderland 0 419 16-05-2016, 02:42 PM
Ultimo messaggio: 93sunderland
  Inventario con slot 93sunderland 5 761 06-05-2016, 04:34 PM
Ultimo messaggio: 93sunderland
  Dubbio sulla costruzione dell scene 93sunderland 16 1,999 28-02-2016, 04:39 PM
Ultimo messaggio: Blackg96

Vai al forum:


Browsing: 1 Ospite(i)