Menu
CoddyTech

Повторение: всплывающее окно достижения

Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 14 из 50.

challenge icon

Задание

Легко

По двору разбросаны монеты, а стрелки управляют Player (Player.cs, готов). Добавь в игру достижения, которые появляются на экране. Напиши три скрипта; сцена уже связывает их поля и подключает список Achievements On Unlocked (String) к AchievementPopup.Show на HUD.

  • Collector (на Player) подбирает каждый объект с тегом Coin, которого касается, удаляет его и сообщает новое общее количество через публичное событие C# OnCoinsChanged, передающее int. Он ничего не знает о достижениях.
  • Achievements слушает свой collector, только пока активен. При 1 монете он разблокирует First Coin, при 3 — Pocket Money, а при 6 — Coin Hoarder. При каждой разблокировке вызывается его поле UnityEvent onUnlocked, передающее название (строку).
  • AchievementPopup.Show(string title) показывает panel, а в titleText отображается Unlocked: First Coin, и скрывает его через showTime (2) секунды. Если вызвать Show, пока панель отображается, появится новое название, а отсчёт 2 секунд начнётся заново.

Нажми Play, собери все шесть монет, затем нажми Check.

Попробуйте сами

using UnityEngine;

public class Achievements : MonoBehaviour
{
    public Collector collector;
}

Все уроки раздела Архитектура игр в Unity