Menu
CoddyTech

Revisão: janela de conquista

Parte da seção Arquitetura de jogos no Unity do Journey de Unity da Coddy. Lição 14 de 50.

challenge icon

Desafio

Fácil

Há moedas espalhadas pelo pátio, e as setas movem o Player (Player.cs, pronto). Adicione conquistas ao jogo que aparecem na tela. Escreva três scripts; a cena já conecta os campos deles e vincula a lista On Unlocked (String) de Achievements a AchievementPopup.Show na HUD.

  • Collector (no Player) coleta todo objeto com a tag Coin que toca, removendo-o, e anuncia o novo total com um evento C# público OnCoinsChanged que passa um int. Ele não sabe nada sobre conquistas.
  • Achievements escuta seu collector enquanto está ativo, e somente então. Com 1 moeda, desbloqueia First Coin; com 3, Pocket Money; e com 6, Coin Hoarder. Cada desbloqueio invoca seu campo UnityEvent onUnlocked, que passa o título (uma string).
  • AchievementPopup.Show(string title) exibe panel, com titleText mostrando Unlocked: First Coin, e o oculta showTime (2) segundos depois. Uma chamada a Show enquanto o painel está visível mostra o novo título, e os 2 segundos recomeçam.

Pressione Play, colete as seis moedas e, em seguida, clique em Check.

Experimente você mesmo

using UnityEngine;

public class Achievements : MonoBehaviour
{
    public Collector collector;
}

Todas as lições de Arquitetura de jogos no Unity