Menu
CoddyTech

Negozio e inventario

Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 54 di 56.

Tra un livello e l'altro, l'eroe visita un negozio. Tre oggetti aspettano sullo scaffale: un Helmet, dei Boots e un Cape, ciascuno su un pulsante che mostra il proprio prezzo; un pulsante Work permette di guadagnare gettoni per quelli che l'eroe non può ancora permettersi. Ciò che l'eroe acquista va nell'inventario elencato in fondo, e i gettoni rimanenti e gli oggetti posseduti sono ancora presenti la volta successiva che il gioco viene avviato.

Scrivi due script: Shop sull'oggetto Shop e ShopItem sul pulsante di ciascun oggetto.

challenge icon

Sfida

Difficile

L’Inspector assegna a Shop startCoins (100), pay (25), coinsText, inventoryText, workButton e items, i tre ShopItems nell’ordine in cui si trovano sullo scaffale. Assegna a ciascun ShopItem il suo itemName e price (Helmet 40, Boots 60, Cape 120), label (il testo sul suo pulsante) e shop.

  • Le monete vengono salvate con la chiave Coins; un giocatore senza dati salvati inizia con startCoins. coinsText le mostra come Coins: 100.
  • Ogni clic su Work fa guadagnare pay monete.
  • Un oggetto è posseduto quando la chiave Owned_ più il suo nome (Owned_Helmet) contiene 1. La sua etichetta mostra Helmet: 40 quando è in vendita e Helmet: owned quando è posseduto.
  • Si può fare clic sul pulsante di un oggetto solo se l’oggetto non è posseduto e il giocatore ha almeno il suo prezzo. Facendo clic, si acquista l’oggetto: il prezzo viene sottratto dalle monete e l’oggetto diventa posseduto.
  • inventoryText elenca gli oggetti posseduti nell’ordine in cui si trovano sullo scaffale, come Inventory: Helmet, Cape, oppure mostra Inventory: empty.
  • Ogni modifica viene salvata subito e tutti i testi e i pulsanti mostrano il nuovo stato.

Premi Play, fai acquisti e lavora, premi Stop e di nuovo Play, poi Check.

Provalo tu

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class Shop : MonoBehaviour
{
    public int startCoins = 100;
    public int pay = 25;
    public TMP_Text coinsText;
    public TMP_Text inventoryText;
    public Button workButton;
    public ShopItem[] items;
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Creare veri giochi