Вопросы к Поиску с Алисой
Для создания системы статистики в игре можно следовать таким рекомендациям:
Реализовать тип статистики и тип модификатора. giannisakritidis.com Статистическое значение имеет базовое значение и текущее значение. giannisakritidis.com Базовое значение нужно задавать при создании статистики, а к ней можно добавлять и удалять модификаторы, а также получать уже применённые к ней модификаторы. giannisakritidis.com Текущее значение — это базовое значение, изменённое применёнными модификаторами. giannisakritidis.com
Использовать скриптовый объект как контейнер для статистики. onewheelstudio.com Это позволит отделить данные от логики, которая их использует. onewheelstudio.com Кроме того, каждый контейнер статистики — это ресурс, к которому может иметь доступ любой объект, если ему нужен доступ к статистике. onewheelstudio.com
Хранить статистику в словаре. onewheelstudio.com Для ключа нужно использовать перечисление, а для значения — значение статистики. onewheelstudio.com Чтобы получить доступ к определённой статистике, достаточно одной публичной функции, которая принимает тип статистики и возвращает значение. onewheelstudio.com
Сохранять статистику в базу данных Steam. godotsteam.com При запуске игры нужно вытащить все связанные достижения и статистику с серверов Steam для локального пользователя. godotsteam.com Для этого следует вызвать функцию ISteamUserStats::RequestCurrentStats, а когда данные будут готовы — обратный вызов ISteamUserStats::UserStatsReceived_t. partner.steamgames.com Затем нужно использовать функции ISteamUserStats::GetStat и ISteamUserStats::GetAchievement для итерации данных и инициализации состояния игры. partner.steamgames.com
Выбор метода зависит от конкретной платформы разработки игры.