Menu
CoddyTech

Récapitulatif : acheter dans la boutique

Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 29 sur 64.

Ce chapitre a déplacé les données vers des ressources partagées par de nombreux objets. Les articles de la boutique sont de telles ressources : ce que le joueur achète appartient donc à la boutique, et non aux articles eux-mêmes.

challenge icon

Défi

Facile

Fais en sorte que la barre d’espace achète l’objet sélectionné sans modifier les ressources.

  1. Conserve les objets achetés dans List<ItemData> owned dans Shop.
  2. Lorsque tu appuies sur la barre d’espace, un objet déjà possédé affiche dans le journal Already owned: Iron Sword ; un objet dont le prix dépasse gold affiche Not enough gold for Iron Sword.
  3. Sinon, déduis le prix de gold, ajoute l’objet à owned, affiche Bought Iron Sword dans le journal et mets à jour les textes.

Appuie sur « Jouer » et achète l’arc long. Puis appuie sur « Vérifier ».

Essayez vous-même

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class Shop : MonoBehaviour
{
    public ItemDatabase database;
    public TMP_Text itemText;
    public TMP_Text goldText;
    public int gold = 50;
    private int index;

    void Start()
    {
        Show();
    }

    void Update()
    {
        if (Keyboard.current.rightArrowKey.wasPressedThisFrame)
        {
            index = (index + 1) % database.items.Count;
            Show();
        }
        if (Keyboard.current.leftArrowKey.wasPressedThisFrame)
        {
            index = (index - 1 + database.items.Count) % database.items.Count;
            Show();
        }
        // Espace : acheter l'objet sélectionné
    }

    void Show()
    {
        ItemData item = database.items[index];
        itemText.text = item.itemName + ": " + item.price + " gold";
        goldText.text = "Gold: " + gold;
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Architecture de jeu dans Unity

Entraînez-vous par vous-même : Playground Unity