1#ifndef YAZE_APP_EDITOR_SHELL_FEEDBACK_FEATURE_HINT_MANAGER_H_
2#define YAZE_APP_EDITOR_SHELL_FEEDBACK_FEATURE_HINT_MANAGER_H_
7#include <unordered_map>
24namespace FeatureHintId {
36 const char*
id =
nullptr;
73 void Dismiss(std::string_view
id);
91 std::unordered_map<std::string, FeatureHintDefinition>
catalog_;
Show-once feature tips backed by ToastManager + UserSettings.
void Dismiss(std::string_view id)
Mark dismissed without showing (e.g. user opened the guide manually).
size_t registered_count() const
void SetEnabled(bool enabled)
std::function< void()> guide_callback_
void SetGuideCallback(std::function< void()> callback)
Opens Help → Coming from ZScream (or equivalent) from actionable tips.
void SetUserSettings(UserSettings *settings)
bool IsDismissed(std::string_view id) const
void RegisterHint(FeatureHintDefinition definition)
Register or replace a hint definition (tests / future packs).
size_t dismissed_count() const
bool MaybeShow(std::string_view id)
void ResetDismissed()
Clear all dismissed ids and persist. Tips can fire again.
ToastManager * toast_manager_
std::unordered_map< std::string, FeatureHintDefinition > catalog_
void RegisterBuiltinHints()
Register built-in ZScream migrant tips. Safe to call more than once.
UserSettings * user_settings_
void SetToastManager(ToastManager *toast_manager)
Manages user preferences and settings persistence.
constexpr const char * kZScreamDungeon
constexpr const char * kZScreamZso
constexpr const char * kZScreamOverworld
constexpr const char * kZScreamWelcome
constexpr const char * kZScreamSave
constexpr const char * kZScreamTile16
constexpr const char * kZScreamScreenMap
constexpr const char * kZScreamProjects
bool offer_guide
When true and a guide callback is set, toast shows an "Open guide" button.