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.
Desafio
FácilHá 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 tagCoinque toca, removendo-o, e anuncia o novo total com um evento C# públicoOnCoinsChangedque passa um int. Ele não sabe nada sobre conquistas.Achievementsescuta seucollectorenquanto está ativo, e somente então. Com 1 moeda, desbloqueiaFirst Coin; com 3,Pocket Money; e com 6,Coin Hoarder. Cada desbloqueio invoca seu campo UnityEventonUnlocked, que passa o título (uma string).AchievementPopup.Show(string title)exibepanel, comtitleTextmostrandoUnlocked: First Coin, e o ocultashowTime(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
1Componentes, não hierarquias
Componentes pequenosUm script-base para inimigosComponentes abstratosComponentes trabalhando juntosRevisão: Torre modular4Dados Serializados
Classes SerializáveisListas no InspectorEnums no InspectorRevisão: Tabela de Loot7Máquinas de Estados
Estados como ClassesUma Máquina de EstadosTransiçõesInteligências dos InimigosRevisão: Estados da Porta10Projeto: Sobrevivente da Arena
O HeróiTipos de Inimigos5ScriptableObjects
Assets de dadosAtributos das armasConfigurações compartilhadasOndas como dadosRevisão: banco de dados de itens3Eventos
Eventos de C# no UnityInscreva-se em OnEnableCampos de UnityEventEventos controlam a interfaceRevisão: janela de conquista