diff options
| author | LillyJadeKatrin <lilly.kitty.1988@gmail.com> | 2023-05-23 20:45:04 -0400 |
|---|---|---|
| committer | LillyJadeKatrin <lilly.kitty.1988@gmail.com> | 2023-05-23 23:22:21 -0400 |
| commit | b0eb4ccb8012c308941ef1eba279f73622d29d60 (patch) | |
| tree | 85e08759b5091af9c0b3eb24150b5f96c549879f /Source/Core | |
| parent | a4b7f43f2126ea82abc1548c7849b839208abec7 (diff) | |
Added Notification Popup for Leaderboard Canceled
Added HandleLeaderboardStartedEvent with an OnScreenDisplay message when a player has triggered a leaderboard's failure conditions. The message includes the title of the achievement.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/AchievementManager.cpp | 13 | ||||
| -rw-r--r-- | Source/Core/Core/AchievementManager.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index abf6d89367..2b6aa0b9a4 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -535,6 +535,19 @@ void AchievementManager::HandleLeaderboardStartedEvent(const rc_runtime_event_t* } } +void AchievementManager::HandleLeaderboardCanceledEvent(const rc_runtime_event_t* runtime_event) +{ + for (u32 ix = 0; ix < m_game_data.num_leaderboards; ix++) + { + if (m_game_data.leaderboards[ix].id == runtime_event->id) + { + OSD::AddMessage(fmt::format("Failed leaderboard: {}", m_game_data.leaderboards[ix].title), + OSD::Duration::VERY_LONG, OSD::Color::RED); + break; + } + } +} + void AchievementManager::HandleLeaderboardTriggeredEvent(const rc_runtime_event_t* runtime_event) { m_queue.EmplaceItem( diff --git a/Source/Core/Core/AchievementManager.h b/Source/Core/Core/AchievementManager.h index 3c5855c7c5..7c89be7c59 100644 --- a/Source/Core/Core/AchievementManager.h +++ b/Source/Core/Core/AchievementManager.h @@ -81,6 +81,7 @@ private: void HandleAchievementTriggeredEvent(const rc_runtime_event_t* runtime_event); void HandleLeaderboardStartedEvent(const rc_runtime_event_t* runtime_event); + void HandleLeaderboardCanceledEvent(const rc_runtime_event_t* runtime_event); void HandleLeaderboardTriggeredEvent(const rc_runtime_event_t* runtime_event); template <typename RcRequest, typename RcResponse> |
