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.
Défi
FacileFais en sorte que la barre d’espace achète l’objet sélectionné sans modifier les ressources.
- Conserve les objets achetés dans
List<ItemData> owneddans Shop. - 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épassegoldafficheNot enough gold for Iron Sword. - Sinon, déduis le prix de
gold, ajoute l’objet àowned, afficheBought Iron Sworddans 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;
}
}
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
1Des composants, pas des hiérarchies
De petits composantsUn script de base pour les ennemisComposants abstraitsDes composants qui fonctionnent ensembleRécapitulatif : tourelle modulaireRécapitulatif : canon double4Données sérialisées
Classes sérialisablesListes dans l’InspecteurÉnumérations dans l’InspecteurRécapitulatif : table de butinRécapitulatif : tirer le butin2Les interfaces dans Unity
IDamageableInterfaces et TryGetComponentGetComponentsRécapitulatif : touche d’interactionLe plus proche à portée5ScriptableObjects
Ressources de donnéesStatistiques des armesParamètres partagésSauver le ventLes vagues comme donnéesRécapitulatif : base de données des objetsRécapitulatif : acheter dans la boutique3Événements
Les événements C# dans UnityS’abonner dans OnEnableChamps UnityEventLes événements pilotent l’interfaceRécapitulatif : fenêtre de succèsRécapitulatif : minuteur de la fenêtreEntraînez-vous par vous-même : Playground Unity