Я планирую работать над игрой, которая имеет внутреннюю часть PHP для связи с хранилищем данных. Я подумал об этом и пришел к выводу, что лучшая парадигма дизайна для нашей игры будет основана на событиях. Я ищу систему достижений (аналогичную системе значков на этом веб-сайте), и в основном я хотел бы иметь возможность привязать эти «проверки достижений» к ряду различных событий, происходящих в игре. то есть:
Когда пользователь выполняет действие X, запускается крючок Y и вызываются все присоединенные функции для проверки соответствия требованиям достижения.
При такой структуре архитектуры я позволю легко добавлять новые достижения, как и все нужно будет добавить функцию проверки к соответствующему хуку, и все остальное встанет на свои места.
Я не уверен, что это хорошее объяснение того, что я собираюсь сделать, но в любом случае я ищу следующее:
. У меня есть несколько идей относительно того, как выполнить 2) и 3), но я надеялся, что кто-нибудь, хорошо разбирающийся в этом вопросе, сможет пролить свет на лучшие практики.
Заранее благодарим!