Оскільки вже наявні люди додали хороших відповідей, дозвольте мені відповісти на невідомі ситуації.
Якщо ви взагалі знаходитесь в стані, коли ви закінчили кодування своєї гри і тепер починаєте кодувати досягнення, і вам дуже складно підтримувати занадто багато змінних і підрахунків та очищати їх при певних подіях тощо.
Ви завжди можете створити один клас (бажано однотонний) для отримання всіх подій. Тепер перерахуйте всі ваші досягнення. Потім перерахуйте всі ігрові події, необхідні для відстеження. Наприклад, наприклад, мій поточний список виглядає приблизно так
Вбийте ENEMY - ходьба, кулі СМЕРТИ ГРУЗА - падіння, відхід, здоров'я ENTER_ROOM, EXIT_ROOM тощо.
Такі додаткові деталі, як ходіння, кулі, можуть бути параметрами. Тепер у цьому класі відстеження досягнень є одна функція, що називається fireEvent. Шукайте всі місця в коді, де потрібно запустити події, і зателефонуйте на цю функцію. Тепер виконайте решту брудної роботи в класі Досягнення. це найбезпечніший спосіб не порушити існуючі досягнення коду та коду. Це вийшло досить швидко для мене.